MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Обработка сигналов и изображений\ Image Processing Toolbox

И.М.Журавель "Краткий курс теории обработки изображений"

В оглавление книги \ К предыдущему разделу \ К следующему разделу

Видоизменение гистограмм

Как уже отмечалось выше, гистограмма является одной из наиболее информативных характеристик изображения. Одной из наиболее известных операций, которые проводятся с гистограммой изображения, является эквализация. Ее суть состоит в выравнивании гистограммы, т.е. проведении таких преобразований, чтобы на изображении в равных количествах присутствовали пиксели с различными значениями из заданного динамического диапазона интенсивностей.

Однако, такие преобразования не всегда эффективны. Результат таких преобразований зависит от гистограммы исходного изображения. Довольно часто изображения владеют высоким качеством визуального восприятия, но при этом их гистограмма не является равномерной. Поэтому в данной работе рассмотрим задачу преобразования формы гистограммы изображения к заданному виду.

Сначала сформируем несколько гистограмм с различной формой.

%Равномерный закон распределения гистограммы
H1=256.*ones(1,256);
figure,plot(H1);
title('Равномерная гистограмма');


Равномерная гистограмма

%Треугольный закон распределения гистограммы
H2=[512:-2:2];
figure,plot(H2);
title('Треугольная гистограмма');


Треугольная гистограмма

%Пилообразный закон распределения гистограммы
H31=[4:4:508];
H32=[512:-4:0];
H3=[H31,H32];
H3=H3(:);
H3=H3';
figure,plot(H3);
title('Пилообразная гистограмма');


Пилообразная гистограмма

%Экспоненциальный закон распределения гистограммы
H4=260.75*(-log(1:255)+5.5413);
figure,plot(H4);
title('Экспоненциальная гистограмма');


Экспоненциальная гистограмма

%Синусно-экспоненциальный закон распределения гистограммы
x=[0:255];
H5=7000.*exp(-x/85).*abs(cos(pi/2-pi*(x+15)/45));
figure,plot(H5);
title('Синусно-экспоненциальная гистограмма');


Синусно-экспоненциальная гистограмма

%Нормальный закон распределения гистограммы
x=[0:255];
H6=65536.*(1/((127.5/3)*sqrt(2*pi))).*exp(-((x-127.5).^2)/(2*((127.5/3)^2)));
H6=round(H6);
figure,plot(H6);
title('Нормальный закон распределения гистограммы');


Нормальный закон распределения гистограммы

Теперь считаем некоторое исходное изображение и визуализируем его.

L=imread('liftingbody.png');
figure, subplot(221);
imshow(L);
title('Исходное изображение');


Исходное изображение

Следующие эксперименты будут заключаться в преобразовании изображения к такому виду, чтобы его гистограмма приняла желаемую форму. Для этого будем использовать следующий код:

Lvyh=histeq(L,H2);

где L – матрица интенсивностей исходного изображения; Lvyh – матрица интенсивностей результирующего изображения; H2 – желаемая гистограмма.

  1. Равномерная гистограмма.

  2. Исходное изображение

    Гисторамма исходного изображения

    Результирующие изображение

    Гисторамма преобразованного изображения
  3. Треугольная гистограмма.

  4. Исходное изображение

    Гисторамма исходного изображения

    Результирующие изображение

    Гисторамма преобразованного изображения
  5. Пилообразная гистограмма.

  6. Исходное изображение

    Гисторамма исходного изображения

    Результирующие изображение

    Гисторамма преобразованного изображения
  7. Экспоненциальная гистограмма.

  8. Исходное изображение

    Гисторамма исходного изображения

    Результирующие изображение

    Гисторамма преобразованного изображения
  9. Синусно-экспоненциальная гистограмма.

  10. Исходное изображение

    Гисторамма исходного изображения

    Результирующие изображение

    Гисторамма преобразованного изображения
  11. Нормальный закон распределения гистограммы.

  12. Исходное изображение

    Гисторамма исходного изображения

    Результирующие изображение

    Гисторамма преобразованного изображения

Нами проведены преобразования, в результате которых гистограмма распределения значений интенсивностей пикселей изображения приобрела желаемую форму (равномерную, треугольную, пилообразную, экспоненциальную, синусно-экспоненциальную, нормальную). Однако, полученные результирующие изображения не всегда характеризовались высоким качеством визуального восприятия. Это нетрудно объяснить, особенно в случае треугольной, экспоненциальной и синусно-экспоненциальной гистограмм, где основная часть изображения сосредоточена в темной области. В общем случае, каждое изображение при обработке методами гистограммных преобразований требует индивидуального подхода.

%===============================================================
%======ПРОГРАММА, КОТОРАЯ ФОРМИРУЕТ ГИСТОГРАММУ============
%===============================================================
 
zak=input('Закон распределения гистограммы')
 
if zak==0;
%Равномерный закон распределения гистограммы
H1=256.*ones(1,256);
end;
 
if zak==1;
%Треугольный закон распределения гистограммы
H2=[512:-2:2];
end;
 
if zak==2;
%Пилообразный закон распределения гистограммы
H31=[4:4:508];
H32=[512:-4:0];
H3=[H31,H32];
H3=H3(:);
H3=H3';
end;
 
if zak==3;
%Экспоненциальный закон распределения гистограммы
H4=260.75*(-log(1:255)+5.5413);
end;
 
if zak==4;
%Синусно-экспоненциальный закон распределения гистограммы
x=[0:255];
%H5=826.4752.*exp(-x/145).*abs(cos(pi/2-pi*(x+15)/45));
H5=7000.*exp(-x/85).*abs(cos(pi/2-pi*(x+15)/45));
end;
 
if zak==5;
%Нормальный закон распределения гистограммы
x=[0:255];
H6=65536.*(1/((127.5/3)*sqrt(2*pi))).*exp(-((x-127.5).^2)/(2*((127.5/3)^2)));
H6=round(H6);
end;
 
if zak==0;
H=H1;
disp('Равномерная гистограмма');
figure,plot(H);
title('Равномерная гистограмма');
end;
 
if zak==1;
H=H2;
disp('Треугольная гистограмма');
figure,plot(H);
title('Треугольная гистограмма');
end;
 
if zak==2;
H=H3;
disp('Пилообразная гистограмма');
figure,plot(H);
title('Пилообразная гистограмма');
end;
if zak==3;
H=H4;
disp('Экспоненциальная гистограмма');
figure,plot(H);
title('Экспоненциальная гистограмма');
end;
if zak==4;
H=H5;
disp('Синусно-экспоненциальная гистограмма');
figure,plot(H);
title('Синусно-экспоненциальная гистограмма');
end;
if zak==5;
H=H6;
disp('Нормальный закон распределения гистограммы');
figure,plot(H);
title('Нормальный закон распределения гистограммы');
end;
ylim('auto')
ylim('auto')
 

%========================================================
%==========ПРОГРАММА ВИДОИЗМЕНЕНИЯ ГИСТОГРАММЫ====
%========================================================
 
clear;
L=imread('liftingbody.png');
L=double(L)./255;
hist_zak; %Эталонная гистограмма 
H2=H;
Lvyh=histeq(L,H2);
 
figure, subplot(221);
imshow(L);
title('Исходное изображение');
 
subplot(223);
imshow(Lvyh);
title('Результирующее изображение');
 
subplot(222);
h=imhist(L);
plot(h);
title('Гистограмма исходного изображения');
ylim('auto')
ylim('auto')
 
subplot(224);
h=imhist(Lvyh);
plot(h);
title('Гистограмма преобразованного изображения');
ylim('auto')
ylim('auto')

В оглавление книги \ К предыдущему разделу \ К следующему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика