基于颜色估计模型(CEM)的图像全局增强
颜色估计模型(Color Estimation Model,CEM)是Fu等人提出的一种映射方法,它可以将较小的灰度值映射为较大的灰度值,从而提高图像的整体亮度。对于逆光图像I,通过CEM增强后的得到的图像为:
,这里,为单调映射函数。
对于CEM模型,有如下形式:,其中,为调节参数(本文取值:1.33),为图像I的灰度均值。
利用CEM对逆光图像进行全局增强,可以提高输入图像的整体亮度,恢复图像的颜色与细节信息。
Matlab代码实现:
function ColorEstimationModel()
[f,p]=uigetfile('*.*','选择图像');
if f
I=imread(strcat(p,f));
end
%I=rgb2gray(I);
I=im2double(I);
IGE=CEM(I);
subplot(1,2,1);
imshow(I);
xlabel('a). 原始图像');
subplot(1,2,2);
imshow(IGE,[]);
xlabel('b). 颜色估计模型增强');
end
function f = CEM(I)
J=I;
fCEM=I;
[m,n]=size(I);
area=m*n;
all=0;
for i=1:m
for j=1:n
all=all+I(i,j);
end
end
MI=all/area;
for i=1:m
for j=1:n
fCEM(i,j)=exp(double((-1.33)*I(i,j)/MI));
J(i,j)=(1-fCEM(i,j))/(1+fCEM(i,j));
end
end
f=J;
end