資源簡介
Retinex是一種常用的建立在科學實驗和科學分析基礎上的圖像增強方法,它是Edwin.H.Land于1963年提出的。就跟Matlab是由Matrix和Laboratory合成的一樣,Retinex也是由兩個單詞合成的一個詞語,他們分別是retina 和cortex,即:視網膜和皮層。
代碼片段和文件信息
I?=?imread(‘5.png‘);
subplot(121);
imshow(I);
f=I(::1);
ff=I(::2);
fff=I(::3);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k1=4;
k2=5;?
r=161;??%定義模板的大小
alf=1600;????%標準差
nn=floor((r+1)/2);???%?計算中心
for?i=1:r
????for?j=1:r
????????b(ij)?=exp(-((i-nn)^2+(j-nn)^2)/(k1*alf))/(k2*pi*alf*10000);????????%高斯函數1
???end
end
k1=8;
k2=8;
r=161;
alf=1400;
nn=floor((r+1)/2);
for?i=1:r
????for?j=1:r
????????bb(ij)?=exp(-((i-nn)^2+(j-nn)^2)/(k1*alf))/(k2*pi*alf*10000);????????%高斯函數2
???end
end
k1=0.5;
k2=0.5;
r=161;
alf=1458;
nn=floor((r+1)/2);
for?i=1:r
????for?j=1:r
????????bbb(ij)?=exp(-((i-nn)^2+(j-nn)^2)/(k1*alf))/(k2*pi*alf*10000);????????%高斯函數2
???end
end
%%%%%%%%%%%對R分量的處理%%%%%%%%%%%%%
Img?=?double(f);
[mn]=size(f);
K=imfilter(Imgb);
KK=imfilter(Imgbb);
KKK=imfilter(Imgbbb);
for?i=1:m
????for?j=1:n??????
???????G(ij)=1/3*(log(Img(ij)+1)-log(K(ij)+1));
????????G(ij)=1/3*(log(Img(ij)+1)-log(KK(ij)+1))+G(ij);
?????????G(ij)=1/3*(log(Img(ij)+1)-log(KKK(ij)+1))+G(ij);
????end
end
mi=min(min(G));
ma=max
- 上一篇:ar自回歸模型,附詳解
- 下一篇:場景文字檢測matlab源碼
評論
共有 條評論