2014-01-30 101 views
-2

欲使用式在Matlab計算自適應圖像對比度自適應對比度圖像計算

Ca(i,j)=A*C(i,j)+(1-A)*Imax(i,j)-Imin(i,j) 

其中

C(i,j)=Imax(i,j)-Imin(i,j)/Imax(i,j)+Imin(i,j) 

A=(Std/128)^y 

C(I,J)表示圖像像素的對比度(ⅰ ,j),Imax(i,j)和Imin(i,j)分別表示(i,j)的局部鄰域窗口內的最大和最小強度,窗口大小爲

3.(Imax(i, j) − Imin(i, j)) 

是指局部圖像梯度歸一化爲[0,1],'A'是局部對比度和局部梯度之間的權重,它是基於文檔圖像統計信息來控制的,「Std」表示文檔圖像強度標準偏差和'y'是一個預先定義的參數,參數'y'應該設置爲1.

+0

那麼,你的問題是什麼? –

回答

0

使用im2col matlab函數,您可以將每個像素鄰域重新排列爲一個新的DxN矩陣的列,其中D是鄰域的像素數量以及N是圖像的像素數量。所以,你可以這樣做:

%Assuming you have your image in the I variable, 
%and [Dr,Dc] is the neighborhood size 

[Nr,Nc] = size(I); 
Inew = im2col(padarray(I,floor([Dr,Dc]/2),NaN),[Dr Dc]); 
Imax = reshape(max(Inew,[],1), [Nr,Nc]); 
Imin = reshape(min(Inew,[],1), [Nr,Nc]); 

有了這個,你應該能夠正常計算C和Ca。

Regards

+0

謝謝你的回答。我會檢查這個... – user3214643