1
試圖做一個批次FFT上使用下面的代碼片段50張圖片:我如何批量FFT用C
pix3 = n*pix1*pix2;
fftwf_complex *in2, *f2h; //input for FFT2
in2 = (fftwf_complex*)fftwf_malloc(sizeof(fftwf_complex) * pix3);
f2h = (fftwf_complex*)fftwf_malloc(sizeof(fftwf_complex) * pix3);
for (i = 0; i < pix3; i++)
{
in2[i][0] = ref20[i]; //ref20 is an array of real values
in2[i][1] = 0;
}
for(i = 0; i < n; ++i)
{
plan_forward2 = fftwf_plan_dft_2d (pix1, pix2, in2, f2h, FFTW_FORWARD, FFTW_ESTIMATE);
fftwf_execute (plan_forward2);
in2 += pix1*pix2;
f2h += pix1*pix2;
}
不過,我只能夠獲得第一圖象的FFT(即第一PIX1 * pix2元素)。任何建議如何得到這個權利?
在此先感謝
您可能需要顯示在初始內存分配和for循環之間的代碼,即實際將圖像加載到in2中的部分。 – 2010-09-22 21:27:07
mem分配後,我只是從文本文件中讀取數據(size = pix3),然後將我的變量轉換爲複雜類型(in2) – vivekv80 2010-09-22 21:37:44