• 大小: 2KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-05-26
  • 语言: Matlab
  • 标签: retinex  msr  

资源简介

用MATLAB写的多尺度retinex算法

资源截图

代码片段和文件信息

function z=msr(IMAGE)
f=IMAGE;
fr=f(: : 1); fg=f(: : 2); fb=f(: : 3);%RGB通道
mr=mat2gray(im2double(fr)); mg=mat2gray(im2double(fg)); mb=mat2gray(im2double(fb));%数据类型归一化
alf1=1458; %定义标准差alf=a^2/2  a=54
n=161;%定义模板大小 
n1=floor((n+1)/2);%计算中心 
for i=1:n 
    for j=1:n 
      b(ij) =exp(-((i-n1)^2+(j-n1)^2)/(4*alf1))/(pi*alf1); %高斯函数
    end 
end 
nr1 = imfilter(mrb‘conv‘ ‘replicate‘);ng1 = imfilter(mgb‘conv‘ ‘replicate‘);nb1 = imfilter(mbb‘conv‘ ‘replicate‘);%卷积滤波
ur1=log(nr1); ug1=log(ng1); ub1=log(nb1);
tr1=log(mr);tg1=log(mg);tb1=log(mb);
yr1=(tr1-ur1)/3;yg1=(tg1-ug1)/3;yb1=(tb1-ub1)/3;
alf2=53.38; %定义标准差alf=a^2/2    a=10.3325
x=31;%定义模板大小 
x1=floor((n+1)/2);%计算中心 
for i=1:n 
    for j=1:n 
      a(ij) =exp(-((i-n1)^2+(j-n1)^2)/(4*alf2))/(6*pi*alf2); %高斯函数
    end 
end 
nr2 = imf

评论

共有 条评论