我正在编写一个经典的FFT算法,我将把它集成到ImageJ中。我已经开始通过在线理解代码来编写FFT,但是我无法获得原始图像的虚构和真实部分。原始图像是dicom或原始图像,它是256x256矩阵。当我计算一维矩阵FFT时,将执行FFT的功能需要实部和虚部,因为我并不真正理解如何计算2D FFT。 ImageJ-当它计算FHT(这是与传统FFT的差异)时,它也通过使用1D阵列来实现。我希望有人知道如何获得虚构和实际原始图像像素数据的部分。
我的函数将此作为参数:
public void fft(double[] real, double[] image)
这是ImageJ获取数据的地方:
//get the data of the original image (pixel data).
float[] fft = (float[])getPixels();
这就是fft(像素数据)产生的结果:
......
57.0
39.0
45.0
50.0
18.0
0.0
0.0
0.0
0.0
...........