Retinex算法Matlab实现(MSR)

 MSR代码如下:

clear all;close all;clc;
I = imread('R-C.jpg');%读取图片

img = I;
sigma = [50,120,250];
img_sigma = zeros(size(img));

for i = 1:3
    channel = img(:,:,i);
    [N1, M1] = size(channel);
    channel = double(channel);
    channel_log = log(channel+1);
    channel_fft = fft2(channel);
    for j = 1:3
        F = fspecial('gaussian', [N1,M1], sigma(j));
        Efft = fft2(double(F));
        D_Gaussian = Efft .* channel_fft;
        Gaussian = ifft2(D_Gaussian);
        Gaussian_log = log(Gaussian + 1);
        enhance_image = channel_log - Gaussian_log;
        MIN = min(min(enhance_image));
        MAX = max(max(enhance_image));
        img_sigma(:,:,j) = 255*(enhance_image - MIN)/(MAX - MIN);
    end
    img(:,:,i) = (1/3.0)*img_sigma(:,:,1) + (1/3.0)*img_sigma(:,:,2) + (1/3.0)*img_sigma(:,:,3);
end
u8img = uint8(img);
subplot(121), imshow(I);
subplot(122), imshow(u8img);
imwrite(u8img,'MSR_image.jpg');

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值