• 大小: 2KB
    文件类型: .m
    金币: 2
    下载: 2 次
    发布日期: 2021-07-22
  • 语言: Matlab
  • 标签: Retinex  

资源简介

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

评论

共有 条评论