图像增强基于matlab同态增晰图像增强含Matlab源码 962期
Posted 紫极神光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像增强基于matlab同态增晰图像增强含Matlab源码 962期相关的知识,希望对你有一定的参考价值。
一、简介
同态增晰是一种在频域中将图像的动态范围进行压缩并将图像对比度进行增强的方法。将图像f(x,y)用照明分量和反射分量表示,则可以用以下方法分别进行滤波:
步骤为:先对f(x,y)取对数,其次进行傅里叶变换,然后用一个频域函数H(u,v)处理,再做傅里叶反变换,最后取指数。
同态增晰的关键在于如何取得合适的H(u,v),使得这个函数可以用不同的方法影响傅里叶变换的高频和低频成分。根据之前的理论,H(u,v)的曲线应如下图所示:
该曲线可以通过适当修改高通滤波器曲线来实现。本次作业使用的是修改后的高斯高通滤波器模型:
二、源代码
%同态滤波
clear all;clc;
a=imread(\'image.png\');
a=rgb2gray(a);
b=double(a);
[m,n]=size(b);
rL=0.5; %默认低频增益
rH=2.0; %默认高频增益
c=1.5; %控制滤波器函数斜面
d0=1800; %截止频率
b1=log(b+1);%取对数
FI=fft2(b1);%二维傅里叶变换
x=floor(m/2);%floor向下取整
y=floor(n/2);
for u=1:m
for v=1:n
D1(u,v)=((u-x).^2+(v-y).^2);%求点到频率矩形中心的距离
H1(u,v)=(rH-rL).*(1-(exp(c*(-D1(u,v)./(d0^2)))))+rL; % 高斯同态滤波
% H1(u,v)=(rH-rL).*(1/(1+(d0/c*(D2(i,j).*1)^2)))+rL; % 巴特沃斯滤波器
end
end
figure,
subplot(121);imshow(a);title(\'原图\');
subplot(122);
imshow(b3,[]);title(\'同态滤波后图像\');%显示处理后图像
%绘制滤波函数曲线
figure,
plot(H11);title(\'滤波函数H(u,v)\');
grid on
三、运行结果
四、备注
版本:2014a
完整代码或代写加1564658423
以上是关于图像增强基于matlab同态增晰图像增强含Matlab源码 962期的主要内容,如果未能解决你的问题,请参考以下文章
图像增强基于matlab萤火虫算法图像对比度增强含Matlab源码 2142期
图像增强基于matlab萤火虫算法图像对比度增强含Matlab源码 2142期
图像增强基于matlab可见边缘梯度比率图像增强含Matlab源码 1404期