复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34clc; clear all; close all; %读入图像,并转换为double型 I=imread('D:Gray Files4-41.tif'); I_D=im2double(I); %获得图像的高度和宽度 [M,N]=size(I_D); %图像中心点 M0=M/2; N0=N/2; J=fft2(I_D); J_shift=fftshift(J); %%%%%%%============巴特沃斯(Butterworth)低通滤波器====================== %滤波器的阶数,巴特沃斯以二阶最为有效,灰度级的负数几乎为零,振铃现象很微小 n=2; %截至频率距离圆点的距离 D0=20; for x=1:M for y=1:N %计算点(x,y)到中心点的距离 d=sqrt((x-M0)^2+(y-N0)^2); %计算巴特沃斯滤波器 h=1/(1+(d/D0)^(2*n)); %用滤波器乘以主函数 J_shift(x,y)=J_shift(x,y)*h; end end J=ifftshift(J_shift); I_D_rep=ifft2(J); imshow(I_D_rep,[]);
最后
以上就是淡定羊最近收集整理的关于灰度图像的频率域滤波——巴特沃斯(Butterworth)低通滤波器(Matlab)的全部内容,更多相关灰度图像内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复