我应该如何从图像数据中创建复数以进行快速傅立叶变换 (fft, swift)?

How I should create complex number from image data for Fast Fourier Transform (fft, swift)?

我有灰度数组,例如 [0.0, 0.0, 0.0, 255.0, 255.0, 255.0, 130.0, 130.0, 130.0] 3x3 维,我需要为 fft 函数创建复数数组。 我应该如何转换这个数组? 我使用 swift 4,它用于 iOS,但我认为这无关紧要。并且还使用 Apple 的 Accelerate 框架

所以有 3 个问题

  1. 我应该如何转换这个数组?
  2. 请问有什么共同的理论吗?
  3. 在使用通道时如何为 RGB 设置?

用你的数据填充复数数组的实部,用零填充虚部(图片是纯实数据)。

在 FFT 之后,您将得到复数数组(由于纯真实源而对称)。真实的和即时的。结果的一部分很重要。例如,您可以使用这两个部分来计算频谱的幅度,或者在频域中进行一些处理并进行逆 FFT 以获得处理后的图像。

如何处理 RGB - 取决于您的需要。有时需要对每个通道分别执行 FFT。有时需要使用亮度 - 在这种情况下,频道是使用某种法则加入的。