misyachniy 0 25 июля, 2012 Опубликовано 25 июля, 2012 · Жалоба Нашел реализацию двух мерного FFT по ссылке: http://paulbourke.net/miscellaneous/dft/ Для вызова используется следующая функция: int FFT2D(COMPLEX **c,int nx,int ny,int dir) Поискал в интернете примеры структур COMPLEX, применил такую: typedef struct cmplx { double real; double imag; } complex; Создал одномерный масив из complex. При передаче указателя в функцию компилятор выдает ошибку о несовместимости типов **complex и *complex Убрал одну звездочку выдает ошибку при передаче данных for (i=0;i<nx;i++) { real[i] = c[i][j].real; imag[i] = c[i][j].imag; } Я заменил индекс [j] на [i*nx+j]. Хотелось бы применить правильное описание типа COMPLEX, чтобы не кроить исходный текст. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey Lukin 0 25 июля, 2012 Опубликовано 25 июля, 2012 · Жалоба Даже не заглядывая в исходники, понятно, что нужно передавать массив указателей на строки изображения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey Lukin 0 25 июля, 2012 Опубликовано 25 июля, 2012 · Жалоба Тип COMPLEX у вас верный. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться