本文主要是介绍matlab频域滤波,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
步骤:
(1)计算原图像f(x,y)的DFT,
(2) 讲频谱的零频点移动到频谱图的中心位置;
(3)计算滤波器函数H(U,V)与F(U,V)的乘积G(U,V);
(4)讲频谱G(U,V)的零频点移回到频谱图的坐上角。
(5)计算(4)的结果的傅立叶反变换g(x,y);
(6)取g(x,y)的实部作为最终的滤波后的结果图像。
代码:
大家别激动的啦 代码来啦 哈哈哈 ~~~
- clc;
- clear all;
- close all;
- if(ndims==3 && size(I,3)==3)
- I=rgb2gray(I);
- end
- f=fft2(I);
- s=fftshift(f);
- out=s.*ff
- out=ifftshift(out);
- out=ifft2(out);
- out=abs(out);
- out=out/max(out(:));
原理很简单的,当然代码的构思也so easy!!!!!!
这篇关于matlab频域滤波的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!