#visual-studio #visual-studio-2008 #vtk #fftw #itk
#visual-studio #visual-studio-2008 #vtk #fftw #itk
Вопрос:
Я вычисляю fft изображения, пиксели которого удваиваются с помощью библиотеки FFTW, для этой цели я использую библиотеку fftw (http://www.fftw.org /) библиотека в Visual Studio 2008 и использование ITK (http://www.itk.org /).
Когда я вычисляю fft из двойного указателя с помощью метода ‘fftw_plan_dft_c2r_2d’, он выполняет вычисление, но вносит неточность, она составляет около — 0,5…
Я действительно не знаю, что не так, может быть, расстояние между пикселями? Тип используемых данных? У кого-нибудь была эта проблема или что-то подобное раньше?
Большое спасибо в advanced.
Антонио
код:
Код здесь:
// 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.
Комментарии:
1. Как вы определяете, что есть неточность?
2. Я сравниваю результат с вычислением Matlab 🙂
3. ХОРОШО — можете ли вы отредактировать свой вопрос, включив в него ту часть вашего кода, где вы создаете план FFTW и выполняете сам FFT ?
4. ХОРОШО — я не вижу ничего явно неправильного — насколько велика относительная ошибка, т. Е. Для ошибки / — 0,5, каковы абсолютные значения в каждом случае. Также каковы значения ваших размеров изображения (alto и ancho)?
5. Абсолютные значения находятся в диапазоне от 0 до 200 примерно. И размеры изображения составляют 640×480