基于颜色估计模型(CEM)的图像全局增强

颜色估计模型(Color Estimation Model,CEM)是Fu等人提出的一种映射方法,它可以将较小的灰度值映射为较大的灰度值,从而提高图像的整体亮度。对于逆光图像I,通过CEM增强后的得到的图像基于颜色估计模型(CEM)的图像全局增强为:

基于颜色估计模型(CEM)的图像全局增强,这里,基于颜色估计模型(CEM)的图像全局增强为单调映射函数。

对于CEM模型,基于颜色估计模型(CEM)的图像全局增强有如下形式:基于颜色估计模型(CEM)的图像全局增强,其中,基于颜色估计模型(CEM)的图像全局增强为调节参数(本文取值:1.33),基于颜色估计模型(CEM)的图像全局增强为图像I的灰度均值。

利用CEM对逆光图像进行全局增强,可以提高输入图像的整体亮度,恢复图像的颜色与细节信息。

基于颜色估计模型(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