是否可以使用PyAV将视频直接读取到3D Numpy中?目前,我正在每个帧中循环:
i = 0
container = av.open('myvideo.avi')
for frame in container.decode(video=0):
if i == 0: V = np.array(frame.to_ndarray(format='gray'))
else: V = np.dstack((V, np.array(frame.to_ndarray(format='gray'))))
i += 1
第一帧定义2D Numpy数组(i=0);每个后续帧(i>;0)使用np.dstack
堆叠到第一个数组上。理想情况下,我希望将整个视频一次读入一个由灰度帧组成的3D Numpy阵列
我无法使用PyAV找到解决方案,而是使用ffmpeg-python
ffmpeg-python是类似于PyAV的FFmpeg的Pythonic绑定
代码一次将整个视频读取到灰度帧的3D Numpy数组中
该解决方案执行以下步骤:
n x height x width
numpy数组李>以下是代码(请阅读注释):
输出:
相关问题 更多 >
编程相关推荐