Tag: 幅度

在C中使用FFTW的高通滤波器

我有一个关于FFT的问题。 我已经设法在C中使用FFTW向前和向后进行FFT。现在,我想应用高通滤波器进行边缘检测,我的一些消息来源说只是将幅度的中心归零。 这是我的输入图片http://sofzh.miximages.com/c/2wnxvfl.jpg 基本上我所做的是: 正向FFT 将输出转换为2D数组 进行FFT移位 当距离中心的距离为高度的25%时,将real和imag值设为0 产生幅度 进行反向FFT移位 转换为1D数组 做后向FFT。 这是原始幅度,处理幅度和结果 http://sofzh.miximages.com/c/aysx9s.png 有人可以帮助我,告诉我哪个部分是错的,以及如何在C中使用FFTW进行高通滤波 谢谢。 源代码: unsigned char **FFT2(int width,int height, unsigned char **pixel, char line1[100],char line2[100], char line3[100],char filename[100]) { fftw_complex* in, * dft, * idft, * dft2; //fftw_complex tmp1,tmp2; fftw_plan plan_f,plan_i; int i,j,k,w,h,N,w2,h2; w = width; h = height; N = w*h; […]