Выравнивание/обработка гистограммы в цифровой обработке изображений с примером и выполнением в 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('Гистограмма выровненного изображения');