Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-09-22
帖子: 1
声望力: 0 ![]() |
![]()
看到一个巴特沃斯低通滤波器的程序,程序代码如下
I=imread('7.bmp'); J=imread('5.bmp'); K=imabsdiff(I,J); figure,imshow(K,[]); L=rgb2gray(K); f=double(L); g=fft2(f); g=fftshift(g); [N1,N2]=size(g); n=2; d0=50; n1=fix(N1/2); n2=fix(N2/2); for i=1:N1; for j=1:N2; d=sqrt((i-n1)^2+(j-n2)^2); h=1/(1+0.414*(d/d0)^(2*n)); result(i,j)=h*g(i,j); end end result=ifftshift(result); X2=ifft2(result); X3=uint8(real(X2)); figure,imshow(X3) 我想请问的是巴特沃斯低通滤波器的函数式是H(u,v)=1/(1+(D/D0)^2n),但是程序中计算h的时候为什么多了个0.414 |
![]() |
![]() |