基於顏色估計模型(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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章