Visual studio fftw计算中的误差

Visual studio fftw计算中的误差,visual-studio,visual-studio-2008,vtk,fftw,itk,Visual Studio,Visual Studio 2008,Vtk,Fftw,Itk,我正在使用FFTW库计算图像的fft,该图像的像素是FFTW库的两倍,为此,我使用了该库fftwhttp://www.fftw.org/ VisualStudio2008中的库和使用ITKhttp://www.itk.org/. 当我从双指针计算fft时,使用“fftw\u plan\u dft\u c2r\u 2d”方法进行计算,但引入了不精确性,大约为+-0.5 我真的不知道怎么了,可能是像素之间的间距?所用数据的类型?以前有人有过类似的问题吗 非常感谢 安东尼奥 代码: 代码如下: //

我正在使用FFTW库计算图像的fft,该图像的像素是FFTW库的两倍,为此,我使用了该库fftwhttp://www.fftw.org/ VisualStudio2008中的库和使用ITKhttp://www.itk.org/.

当我从双指针计算fft时,使用“fftw\u plan\u dft\u c2r\u 2d”方法进行计算,但引入了不精确性,大约为+-0.5

我真的不知道怎么了,可能是像素之间的间距?所用数据的类型?以前有人有过类似的问题吗

非常感谢

安东尼奥

代码:

代码如下:

// FFT CALCULATION
    // Inizialization of the neccesary elemnets for calculating the FFT. 
    fftw_plan p1;  //variable for storing the FFT 
    int N_fft= ancho*alto;  //number of points of the image
    fftw_complex *F1 =(fftw_complex*) fftw_malloc(sizeof(fftw_complex)*alto*((ancho/2)+1));  // result pointer
    p1 = fftw_plan_dft_r2c_2d(alto,ancho, f1, F1, FFTW_ESTIMATE);  // FFT planning
    fftw_execute(p1);  // FFT calculation
    fftw_destroy_plan(p1); // plan is destroyed 

我想对名为f1的双指针进行FFT。

您如何确定不准确?我将结果与Matlab计算结果进行比较:好的-您可以编辑您的问题,将创建FFTW计划并执行FFT本身的代码部分包括在内吗?好的-我没有看到任何明显的错误-相对误差有多大误差,即对于+/-0.5误差,每种情况下的绝对值是多少。另外,您的图像尺寸alto和ancho的值是多少?绝对值在0到200 aprox的范围内。图像尺寸为640x480