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

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

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

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

Метод управления яркостью изображения

Довольно часто возникает необходимость получения изображений с заданным значением средней интенсивности пикселей. Среднеарифметическое значение интенсивностей пикселей изображения равно

Если же мы зададим значение Aν равным K, то значения интенсивностей пикселей должны также каким-то образом измениться

Если в качестве функции преобразования выбрать , то получим

Из последнего выражения видно, что, подобрав необходимое значение α, можно добиться того, что среднеарифметическое значение интенсивностей пикселей изображения L будет принимать установленное значение K.

Практически этот метод можно реализовать так. Сначала нужно построить зависимость K = f(α). Далее, зная, какое значение α соответствует установленному уровню K, провести преобразование исходного изображения.

Приведем пример программной реализации метода.

Сначала считаем некоторое исходное изображение.

I = imread('kids.bmp');

Для примера нам необходимо полутоновое изображение, поэтому если исходное изображение цветное, то необходимо выделить одну цветовую составляющую.

I=double(I(:,:,1));
figure, imshow(I./255);title('Исходное изображение');

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


Далее, согласно приведенному выше описанию, строим зависимость K = f(α).

a=[0:.01:3];
for i=1:length(a);
K(i)=sum(sum(((I-Imin)./(Imax-Imin)).^a(i)))/(N*M);
   if abs(K(i)-R)<.01;
      st=a(i);
   end;
end;
figure,plot(a,K);


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

Iout=((I-Imin)./(Imax-Imin)).^st;

Пример 1.

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

1) Среднеарифметическое значение интенсивностей пикселей изображения K = 0,3.

Среднеарифметическое значение интенсивностей пикселей изображения K = 0,3


2) Среднеарифметическое значение интенсивностей пикселей изображения K = 0,4.

Среднеарифметическое значение интенсивностей пикселей изображения K = 0,4


3) Среднеарифметическое значение интенсивностей пикселей изображения K = 0,5.

Среднеарифметическое значение интенсивностей пикселей изображения K = 0,5


Пример 2.

Приведем такие же результаты для другого изображения.

1) График зависимости K = f(α).

График зависимости K = f(α)


1) Среднеарифметическое значение интенсивностей пикселей изображения K = 0,3.

Среднеарифметическое значение интенсивностей пикселей изображения K = 0,3


2) Среднеарифметическое значение интенсивностей пикселей изображения K = 0,5.

Среднеарифметическое значение интенсивностей пикселей изображения K = 0,5


3) Среднеарифметическое значение интенсивностей пикселей изображения K = 0,7.

Среднеарифметическое значение интенсивностей пикселей изображения K = 0,7


Описанный метод позволяет эффективно управлять среднеарифметическим значением интенсивности пикселей изображения.

Программа, реализующая метод управления яркостью изображения.

%Управление яркостью изображений
clear;
I = imread('kids.bmp');
I=double(I(:,:,1));
figure, imshow(I./255);title('Исходное изображение');
[N M]=size(I);
 
R=.7;%необходимый уровень яркости изображения.
 
Imin=min(min(I));
Imax=max(max(I));
a=[0:.01:3];
for i=1:length(a);
K(i)=sum(sum(((I-Imin)./(Imax-Imin)).^a(i)))/(N*M);
   if abs(K(i)-R)<.01;
      st=a(i);
   end;
end;
figure,plot(a,K);
grid;
 
Iout=((I-Imin)./(Imax-Imin)).^st;
figure, imshow(Iout);
AV=mean(mean(Iout));
disp(AV);

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


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

Система Orphus

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