如何以 8 位格式表示图像的傅里叶变换幅度?

How to represent the magnitude of a Fourier transform of an image in 8-bit format?

我计算了 256 色值灰度图像的傅立叶变换,但我不确定如何以可见格式表示输出。

这个矩阵表示原始图像:

0   127 127 195
0   255 255 195

虽然这个矩阵表示图像的傅里叶变换:

1154 + 0j   -382 + 8j   -390 + 0j   -382 - 8j
-256 + 0j    128 + 128j    0 + 0j    128 - 128j

据我所知,幅度可以计算为 sqrt((r)^2+(i)^2),其中 r 是实部,i 是虚部。但是,这会产生超出可以用 8 位表示的范围的值。我该如何纠正?

由于频谱的动态范围与原始空间信号的动态范围有很大差异,因此使用原始8位格式非常困难。您可以使用 log(1+x) 缩小范围,然后缩放到 8 位范围。

通常,取每个复数 fft 结果值的对数幅度(忽略幅度为零的值),然后缩放结果,使最大预期结果为 255(比例因子将取决于维度和输入二维图像的增益)。