【发布时间】:2019-01-28 21:11:43
【问题描述】:
一位研究教授让我为几个视频生成二维空间频谱密度图。我有两个问题:
如何绘制 PSD 与 x,y 轴?
我知道如何为图像生成 PSD,但不确定如何在视频上执行相同的操作。我想为视频中的每一帧获取 PSD 并取平均值,但我在 python 中实现它时遇到了困难。
下面是我的代码
curr_dir = os.getcwd()
img = cv2.imread(curr_dir+'/test.jpg',0)
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)
mag = 20*np.log(np.abs(fshift))
plt.subplot(121), plt.imshow(img,cmap='gray')
plt.subplot(122), plt.imshow(mag,cmap='gray')
plt.show()
这会生成如下内容:
我想得到这样的东西:
非常感谢任何帮助/建议!
【问题讨论】:
-
您是否尝试为视频中的每一帧生成 2D 空间光谱密度图,随着时间的推移制作一种 PSD 立方体?还是每帧一维 PSD,制作一个瀑布图,其中一个轴是您的 PSD,另一个轴是时间?
-
@Engineero 嗨,我正在尝试为视频生成空间光谱密度图(我知道这听起来很奇怪,但这就是我的要求)。我想绘制 PSD 的 x(顺风)和 y(顺风)分量与频率的关系。
标签: python numpy signal-processing