对一幅图像进行高频增强

算法思想:
首先将图像转换为double型,扩大图像并进行傅里叶变换及中心化处理,获得频域的图像;根据高斯高通滤波器的定理,通过两层循环将高斯高通滤波器的频域矩阵求出,对频域的图像和滤波器矩阵进行点乘,获得处理后的矩阵,将矩阵进行去中心化和反傅里叶并取实部得到空域的图像像素值,最后进行裁剪,得到滤波处理后的图像。高频强调是对频域的滤波器人为的加上一个偏移量a和乘上一个大于1的常数b(H1=a+b*H(u,v)),使图像中一部分低频分量进入高频区域,而在高频滤波后被保留,不仅保持部分光滑区域的灰度,又使边缘得到增强,图像层次更加丰富。将高斯高通滤波进行高频强调后再次于原图频域点乘,观察图像效果。

I=imread('xfigure.bmp');
figure;subplot(221);imshow(I);title('原图');
I=double(rgb2gray(I)); %进行频域转换为double[h,w]=size(I);
p=2*h;  %扩充图像
q=2*w;
fi=fftshift(fft2(I,p,q)); %傅里叶变换及频谱
%高斯高通滤波器
g=zeros(p,q);
for x = (-p/2):1:(p/2)-1  %计算高斯滤波器
     for y = (-q/2):1:(q/2)-1
        D=(x^2 + y^2)^(0.5);
        D0 = 40; %截至频率
        g(x+(p/2)+1,y+(q/2)+1)=1-exp(-(D*D)/(2*D0*D0));
     end
end
fg=fi.*g; %滤波器与图像在频域点乘
Fg=real(ifft2(ifftshift(fg)));  %取反傅里叶反中心化结果的实部
Fg=uint8(Fg(1:1:h,1:1:w));  %将图像恢复到原来的大小
subplot(222);imshow(Fg);title('高斯高通滤波处理');
%高频强调
ge=0.3+3*g;
fge=fi.*ge;
Fge=real(ifft2(ifftshift(fge)));  %取反傅里叶反中心化结果的实部
Fge=uint8(Fge(1:1:h,1:1:w));  %将图像恢复到原来的大小
subplot(223);imshow(Fge);title('高频强调后的高斯高通滤波处理');
hFge=histeq(Fge);
subplot(224);imshow(hFge);title('直方图均衡化高频强调的高斯高通滤波处理');

在这里插入图片描述
图像进行高频强调的滤波处理比只进行滤波处理细节较丰富,将高频强调滤波处理后的图像进行直方图均衡化,图像更加清晰,细节更非富。
频率域高通滤波目的是实现在频率域获得图像的边缘细节,可以构造一个高通滤波使得边缘细节顺利通过。理想高通滤波器,是根据定义的截至频率D0,判断D(u,v)和D0的关系,若D(u,v)>=D0,则令该处的滤波器值为1,否则为0。D0半径外的的频率分量顺利通过,半径内的会被滤除。通过这样计算出所有D(u,v)和D0的关系,就是理想高通滤波器在频域的值,再将该矩阵与频域中的图像点乘,就进行了滤波处理。
在这里插入图片描述

巴特沃斯高通滤波器和理想滤波器实现类似,但巴特沃斯滤波器的通带和阻带之间没有明显的不连续性,振铃现象减弱。它的n为阶数用来控制曲线的衰减速度,由定义的函数实现频域的滤波。
在这里插入图片描述

高斯高通滤波器同以上两种滤波器实现相同,根基定义的函数实现频域滤波,没有振铃现象。
在这里插入图片描述

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值