这似乎是一个非常简单的问题,但我找不到任何相关文档。
我有一个在Numpy中的图片,并想要使用imshow
显示FFT。
在Matlab中,我只需执行以下操作
F = fft(myimg)
imshow(F)
由于F为复数值,我无法在Numpy中做相同的操作。尝试使用imshow(real(F))
会得到完全黑色的图像 - 我猜测是因为在[0,1]而不是0..255之间。乘以255也无法解决问题。
有什么想法可以得到我的绘图吗?
更新:
好的,natan指出了我错误地简化了这个问题。让我稍微退后一步。我有一个视频矩阵,大小为(200,30,30,3)。200帧,30x30像素,3个颜色通道。对于每个像素的每个颜色通道,我想计算该像素在系列中的时间fft。这应该给我一个新的矩阵,其大小为(200,30,30,3)。对于每个像素,每个颜色通道,都有一个200维的时间傅里叶变换结果。然后,我就可以查看由每个像素的第一个傅里叶变换系数的值创建的图像。
请注意,matlab fft操作在第一个非单例维度上运行,因此F = fft(video)
正在执行我想要的操作。
fft
还是fft2
? - blamyimg
并期望获得某种形式的一维跟踪。你的输入维度是多少? - bla