作者:qlb | 来源:互联网 | 2023-05-17 18:51
傅立叶频谱
可以通过使用函数abs获得
S = abs(F)
F为原图f的傅立叶变换
F = fft2(f); //F对原图进行傅立叶变换后的结果
S = abs(F); //取傅立叶变换的频谱,即傅里叶谱
imshow(S,[]) //显示频谱
Fc = fftshift(F); //将傅立叶变换的中心移至频谱的中心位置
imshow(Fc,[]); //显示居中之后的频谱
S2 = log(1+abs(Fc)); //使用对数增强居中后的频谱
imshow(S2,[]) //显示之
原图图片
原图的傅里叶谱
居中处理后的傅立叶谱
使用对数增强后的可见谱
一个简单的实验,这里面有几点需要说明。
1.对数增强的原理?
这里,搜集资料之后得到的答案是,对数转换可以使得灰度级的范围扩展开来。原本不明显的图像效果变得明显起来了。至于具体的原理,有待进一步的学习。。。
2.居中处理:
通过将四个象限对角互换得来的。
1 2
3 4
—>
4 3
2 1
使得原本原点在左上角的频谱,将原点移动到了频谱的中心位置。这样解释,貌似不太清楚,以后想办法补全这里的解释。
DFT滤波的基本步骤
下面介绍matlab中进行DFT的几个步骤
1.使用函数tofloat把输入的图像转换为浮点图像
2.使用函数paddedsize获得填充参数
3.得到有填充图像的傅立叶变换
4.生成一个滤波器函数。这里要求它不是居中的
5.用滤波器乘以改变换
6.获得G的IFFT
7.将左上部矩形修剪为原始大小
8.需要时,将滤波后的图像转换为输入图像的类
频率域滤波步骤示意图
有和没有填充的滤波效果
1.无填充的滤波效果
以后可能不会每天去更新博客了,一是内容不够精致,二是为了写博客而写博客就失去了自己写博客的目的 三,也没有那么多的时间去弄啊。一个星期至少更新一次。