Перейти к содержимому

Выравнивание/обработка гистограммы в цифровой обработке изображений с примером и выполнением в MA...

Study with Dr. Dafda

0:00 / 0:00

Выравнивание/обработка гистограммы в цифровой обработке изображений с примером и выполнением в MA...

12 728 просмотров · 5 лет назад
Study with Dr. Dafda
3,56 тыс. подписчиков
12 728 просмотров · 5 лет назад
Серия видеолекций по цифровой обработке изображений, лекция: 13 Выравнивание гистограмм в DIP и его реализация в MATLAB Что такое гистограмма? Что такое выравнивание/обработка гистограмм? Пример построения гистограммы. Пример выравнивания гистограммы изображения. Как реализовать построение/отображение и выравнивание/обработку/моделирование гистограмм в MATLAB? Как выполнить отображение и выравнивание гистограмм без использования команд imhist() и histeq() в MATLAB Что такое обработка изображений в пространственной области? Всегда ли эффективно выравнивание гистограмм? Если нет, то каково решение? Цифровая обработка изображений (DIP) с использованием/в MATLAB Ссылка для скачивания презентаций/конспектов лекций: https://drive.google.com/drive/folder... Код MATLAB, используемый в видео, представлен в конце описания. #DIP #DIPwithMATLAB #DigitalImageProcessing #StudywithDrDafda Ссылки на другие лекции этой серии: 1. Что такое цифровая обработка изображений?    • What is Digital Image Processing || Introd...   2. Зрительная система человека и элементы цифровой обработки изображений    • Human Visual System and  Elements of Digit...   3. Основные этапы цифровой обработки изображений    • Fundamental steps in Digital Image Process...   4. Получение и считывание изображений    • Image Sensing and Acquisition in Digital I...   5. Взаимосвязь между пикселями в цифровой обработке изображений: меры соседства, смежности и расстояния    • Relationship between Pixels in Digital Ima...   6. Дискретизация и квантование изображений    • Image Sampling and Quantization in Digital...   7. Пространственное и интенсивностное разрешение в цифровой обработке изображений и его реализация в MATLAB    • Spatial and Intensity Resolution in Digita...   8. Основы преобразований интенсивности и пространственная фильтрация и реализация в MATLAB    • Basics of Intensity transformations and Sp...   9. Негативы изображений, логарифмические и степенные преобразования для DIP и реализация в MATLAB    • Intensity (Image negatives, Log and Power-...   10. Функция кусочно-линейного преобразования: растяжение контраста в DIP и реализация в MATLAB    • Piecewise linear transformation function: ...   11. Функция кусочно-линейного преобразования: срез по уровню интенсивности в DIP и реализация в MATLAB    • Piecewise linear transformation function: ...   12. Функция кусочно-линейного преобразования: срез по битовой плоскости в DIP и реализация в MATLAB    • Piecewise linear transformation function: ...   % Программа Matlab для отображения и выравнивания гистограмм закрыть всё; очистить всё; clc предупреждение выключено; %I=imread('Maulik.png'); %I=imread('pout.tif'); I=imread('Cameraman.tif'); %I=rgb2gray(I); fig subplot(1,2,1); imshow(I);title('Исходное изображение'); subplot(1,2,2) imhist(I);title('Гистограмма'); J = histeq(I); fig subplot(1,2,1); imshow(J);title('Изображение с гистограммой после эквализации'); subplot(1,2,2); imhist(J);title('Гистограмма'); Программа %MATLAB для эквализации гистограммы без histeq закрыть всё; очистить всё; clc предупреждение выключено; % Прочитать изображение a=imread('Maulik.png'); %a=imread('pout.tif'); % Преобразовать в оттенки серого, если оно цветное a = rgb2gray(a); b=size(a); a=double(a); % Цикл для получения гистограммы исходного изображения freq_counts = zeros(1,256); for i=1:b(1) for j=1:b(2) for k=0:255 if a(i,j)==k freq_counts(k+1)=freq_counts(k+1)+1; end end end end %Создание PDF-файла из гистограммы путём деления на общее количество пикселей pdf=(1/(b(1)*b(2)))*freq_counts; %Формирование функции распределения плотности распределения (CDF) из PDF cdf = zeros(1,256); cdf(1)=pdf(1); for i=2:256 cdf(i)=cdf(i-1)+pdf(i); end cdf = round(255*cdf); % Изображение с гистограммой, выровненной по гистограмме ep = zeros(b); for i=1:b(1) %Цикл трассировки строк изображения for j=1:b(2) %Цикл трассировки столбцов изображения t=(a(i,j)+1); %Значения пикселей изображения ep(i,j)=cdf(t); %Формирование выходного изображения с использованием функции преобразования cdf end end %Цикл получения гистограммы выровненного изображения hist2 = zeros(1,256); для i=1:b(1) для j=1:b(2) для k=0:255 если ep(i,j)==k hist2(k+1)=hist2(k+1)+1; конец конец конец конец subplot(2,2,1); imshow(uint8(a));title('Исходное изображение'); subplot(2,2,3); imshow(uint8(ep));title('Гистограмма выровненного изображения'); subplot(2,2,2); stem(freq_counts);title('Гистограмма исходного изображения'); subplot(2,2,4); stem(hist2);title('Гистограмма выровненного изображения');