数字图像处理(朱虹)Retinex图像增强方法matlab实现

课本3.4 Retinex图像增强方法,只考虑最基本的情况,只实现单尺度Retinex算法(SSR),对灰度图像进行处理。算法的主要思想为,从原始图像中去除照明的影响来还原图像的本质特征,照明由高斯滤波与原图卷积得到。

SSR算法的具体实现步骤:

1.读取原始待增强图像 f(i,j),并进行数据类型变换,将整型变换为double型;

2.确定参数c的大小,并根据公式确定系数K的取值;

3.根据公式来获得图像R(x,y);

4.对R(x,y)进行取反对数

 

clear;clc
f=rgb2gray(imread('D:\Download\beiguang1.jpg'));%读取图像(直接把彩色图像读为灰度图像)
subplot(1,2,1)%一行,两列,第一个
imshow(f)%绘制f的图像
[m,n]=size(f);%读取f图像的行数和列数,返回给m和n
f1=double(f);%把f转为double类型

c=20;%c的取值不唯一,一般介于20~80之间
K=1/(sqrt(2*pi)*c);%k代表 蓝不大,通过双重积分算出来的结果

for i=1:m
    for j=1:n
        g(i,j)=K*exp((-(i*i+j*j))/(c*c));%高斯函数
    end
end
gfft=fft2(g);%对g进行二维傅里叶变换
f1fft=fft2(f1);%对f1进行二维傅里叶变换
lfft=gfft.*f1fft;%卷积
l=ifft2(lfft);%二维傅里叶逆变换

R=log(f1+1)-log(l+1);%在对数域中,原图像减去低通滤波后的图像
  • 7
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值