Multiscale Retinex

Multiscale Retinex for image enhancement.

您现在正在关注此提交

Two different implementation of the Multiscale Retinex algorithm for image enhancement based on Petro, A. B., Sbert, C., & Morel, J. M. (2014). Multiscale retinex. Image Processing On Line, 71-88.
The first one use an exponential downscaling by 'scalefactor' until 'scalefactor^nscale', this has the advantage of speed up the algorithm for large image but produces more halo artifacts.
The second one take as input the different scales disered and thus allow non constrain scaling.
The miniature is generated by :

Im = imread('example.jpg');
% use the maximum chanel as an approximation of the image illumination
L = max(Im, [], 3);
% compute reflectance using both methods
ret = MSRetinex(mat2gray(L), 5, 3, 2, [5 5], 8);
ret2 = MSRetinex2(mat2gray(L), [5, 35, 150], [5 5], 8);
% use value of hsv domain to enhance the image
Ihsv = rgb2hsv(Im);
Ihsv(:, :, 3) = mat2gray(ret);
R1 = hsv2rgb(Ihsv);
Ihsv(:, :, 3) = mat2gray(ret2);
R2 = hsv2rgb(Ihsv);
% display the miniature
figure;
subplot(2, 1, 1)
imshowpair(Im, R1, 'montage')
title('MSRetinex output')
subplot(2, 1, 2)
imshowpair(Im, R2, 'montage')
title('MSRetinex2 output')

The image 'example.jpg' comes from : https://www.dropbox.com/s/096l3uy9vowgs4r/Code.rar, Wang, S., Zheng, J., Hu, H. M., & Li, B. (2013). Naturalness preserved enhancement algorithm for non-uniform illumination images. IEEE Transactions on Image Processing, 22(9), 3538-3548.

引用格式

Geoffrey Schivre (2026). Multiscale Retinex (https://ww2.mathworks.cn/matlabcentral/fileexchange/71386-multiscale-retinex), MATLAB Central File Exchange. 检索时间: .

致谢

启发作品: Hierax

一般信息

MATLAB 版本兼容性

  • 与 R2015a 及更高版本兼容

平台兼容性

  • Windows
  • macOS
  • Linux
版本 已发布 发行说明 Action
1.0.2

corrected minor bug while combining the different scales !

1.0.1

misspelling in algorithm presentation corrected

1.0.0