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');