我有一堆 8x8 图像,它们已被矢量化并形成一个 64xN 矩阵 X。我想对这些图像中的每一个进行 2D-FFT,而不是将 X 的每一列重新整形为 8x8 图像并使用 fft2。
有什么建议么?我尝试过使用 kronecker 产品和 vec() 操作的属性,但没有得到任何结果。
我有一堆 8x8 图像,它们已被矢量化并形成一个 64xN 矩阵 X。我想对这些图像中的每一个进行 2D-FFT,而不是将 X 的每一列重新整形为 8x8 图像并使用 fft2。
有什么建议么?我尝试过使用 kronecker 产品和 vec() 操作的属性,但没有得到任何结果。
您的矩阵如下所示: 其中是的图像矩阵。所以是图像的第一列(我使用 matlab/octave 表示法)。您说您不想重塑每一列,并且您已经尝试过 kronecker 产品等,但我实际上认为重塑是解决您的问题的最简单方法。看代码:
中的图像总数。是一个矩阵,包含所有个图像的 DFT。我认为它不会比这更简单。如果是这样,请告诉我。
您可以创建一个包含傅立叶基组的矩阵,其格式符合图像的矢量化版本,并使用该矩阵计算 fft2。
因此,您可以通过简单的矩阵乘法得到您想要的。