图像matlab 频域处理

本文详述了使用MATLAB进行数字图像处理的频域滤波过程,包括DFT、滤波器生成、滤波操作及逆变换。通过实例展示了未填充和填充的滤波效果,并对比了空间域与频域滤波的不同,同时探讨了如何从空间域获取频域滤波器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章实际上是笔者在学习冈萨雷斯 数字图像处理 matlab 版本 的第四章时,自己动手在matlab里敲入书上的程序实验得到的。

这个DFT的滤波步骤很重要,应该弄清楚。

1,  使用函数paddedsize()获得填充参数

FQ=paddedsize(size(I));%I为原始图像灰度矩阵

2,  得到使用填充的傅里叶变换

F=fft2(I,PQ(1,),PQ(2));

3,  使用任何一种方法,例如lpfilter()生成一个大小为PQ(1)*PQ(2)的滤波函数H。这个函数如果居中,就要在使用前令H=fftshift(H).

3,  将变换乘以滤波函数:

G=H.*F;

5, 获得G的傅里叶变换的实部:

g=real(ifft2(G));

6, 将左上部的矩形修剪为原始大小:

g=g(1:size(I,1),1:size(I,2));

%%

这条语句要注意,生成一个二维频率域滤波器。

H=freqz2(h,R,C) 其中h是一个二维空间滤波器。


%频域变换
%
I=imread('bw.tif');
figure;
imshow(I);
title('一副简单的图像');

result:



%fft
figure;
F=fft2(I);
S=abs(F);
imshow(S,[]);
title('fft频谱');


figure;
Fc=fftshift(F);
Sc=abs(Fc);
i

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值