【图像增强】单尺度Retinex图像增强【含Matlab源码 3961期】

在这里插入图片描述

⛄一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【图像增强】基于matlab单尺度Retinex图像增强【含Matlab源码 3961期】
点击上面蓝色字体,直接付费下载,即可。

获取代码方式2:
付费专栏Matlab图像处理(初级版)

备注:
点击上面蓝色字体付费专栏Matlab图像处理(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab图像处理(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码

⛄二、单尺度Retinex图像增强

单尺度Retinex图像增强是一种经典的图像增强算法,它基于人眼感知的原理,旨在提高图像的对比度和亮度。其原理如下:
(1)反射率估计:首先,将输入图像分解为反射率和亮度两个分量。反射率表示图像中物体表面的反射特性,亮度表示图像中的全局光照强度。
(2)对数域操作:对反射率和亮度进行对数变换,将其转换到对数域。这是因为在对数域中,图像的低频部分和高频部分可以更好地分离。
(3)低频增强:对反射率的对数域图像进行低频增强操作。这一步旨在增强图像中的低频细节,使得物体的纹理和结构更加清晰。
(4)高频补偿:对亮度的对数域图像进行高频补偿操作。这一步旨在补偿图像中的高频细节,使得图像的细节更加突出。
(5)反变换:将经过增强的反射率和亮度分量进行反变换,得到最终的增强图像。

⛄三、部分源代码

clc
clear
close all

% 输入原始图像
image = imread(‘ant.jpg’);

% 构造高斯滤波器
[N1, M1, dim] = size(image);
sigma = 250;
F = fspecial(‘gaussian’, [N1,M1], sigma);
Efft = fft2(double(F));

%%%%%%%%%%%%%%%%%%% 获取R通道值,并进行对数处理 %%%%%%%%%%%%%%%%%%%%%%%
R = image(:, :, 1);
R0 = double®;
Rlog = log(R0+1);
Rfft2 = fft2(R0);

DR0 = Rfft2.* Efft;
DR = ifft2(DR0);
% 求反射分量,并归一化处理
DRlog = log(DR +1);
Rr = Rlog - DRlog;
EXPRr = exp(Rr);
MIN = min(min(EXPRr));
MAX = max(max(EXPRr));
EXPRr = (EXPRr - MIN)/(MAX - MIN);
% 调用CLAHE对比度增强函数
EXPRr = adapthisteq(EXPRr);

%%%%%%%%%%%%%%%%%%% 获取G通道值,并进行对数处理 %%%%%%%%%%%%%%%%%%%%%%%
G = image(:, :, 2);
G0 = double(G);
Glog = log(G0+1);
Gfft2 = fft2(G0);

DG0 = Gfft2.* Efft;
DG = ifft2(DG0);
% 求反射分量,并归一化处理
DGlog = log(DG +1);
Gg = Glog - DGlog;
EXPGg = exp(Gg);
MIN = min(min(EXPGg));
MAX = max(max(EXPGg));
EXPGg = (EXPGg - MIN)/(MAX - MIN);
% 调用CLAHE对比度增强函数
EXPGg = adapthisteq(EXPGg);

%%%%%%%%%%%%%%%%%%% 获取B通道值,并进行对数处理 %%%%%%%%%%%%%%%%%%%%%%%
B = image(:, :, 3);
B0 = double(B);
Blog = log(B0+1);
Bfft2 = fft2(B0);

DB0 = Bfft2.* Efft;
DB = ifft2(DB0);
% 求反射分量,并归一化处理
DBlog = log(DB+1);
Bb = Blog - DBlog;
EXPBb = exp(Bb);
MIN = min(min(EXPBb));
MAX = max(max(EXPBb));
EXPBb = (EXPBb - MIN)/(MAX - MIN);

% 调用CLAHE对比度增强函数
EXPBb = adapthisteq(EXPBb);

% 合成SSR彩色图像
ssr_rgb = cat(3, EXPRr, EXPGg, EXPBb)*255;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 计算增强图像的评价指标 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
improved_gray_image = rgb2gray(uint8(ssr_rgb));
gray_image = rgb2gray(image);
% Mean
[M_out,N_in] = Mean( improved_gray_image,gray_image );
% MSE
k = 3;
mse1 = MSE(gray_image,k);
mse2 = MSE(improved_gray_image,k);
% PSNR
psnr = PSNR(improved_gray_image,gray_image);
% information entropy,IE
ie_src = IE(gray_image,k);
ie = IE(improved_gray_image,k);
% SSIM
ssim = SSIM( improved_gray_image,gray_image );

index = [M_out,N_in,mse1,mse2,psnr,ie_src,ie,ssim];

%******************************* 图像输出显示 ******************************%
figure(1)
imshow(image,[]);title(‘原始图像’);
figure(2)
imshow(uint8(ssr_rgb));title(‘SSR增强的彩色图像’);
% 显示增强后的图像直方图
figure(3)
imhist(improved_gray_image);title(‘增强图像直方图’);
% xlabel(‘增强图像’)

⛄四、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⛄五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]恩铭,杨松,姚志强,骆成军.基于CNN模型的椒盐噪声图像的分类[J].新乡学院学报. 2022,39(03)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab领域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值