【发布时间】:2021-08-23 13:43:13
【问题描述】:
我一直在尝试使用 python-opencv 逐帧读取这个 mp4 文件。以下是我的代码。
import cv2
filename = '<absolute path>/HandWash_014_A_11_G_03.mp4'
cap = cv2.VideoCapture(filename)
while(cap.isOpened()):
ret, frame = cap.read()
print(frame, ret)
if ret:
cv2.imshow("frame", frame)
cv2.waitKey(1)
else:
break
cap.release()
cv2.destroyAllWindows()
当我在阅读后立即打印帧时,我得到所有零数组,如下所示。然后我尝试在同一文件夹中读取不同的 mp4 文件,但成功返回非零值。另外,请注意,这个有问题的文件可以使用媒体播放器成功播放(我尝试过 Quicktime 播放器)。
[[[0 0 0]
[0 0 0]
[0 0 0]
...
[0 0 0]
[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]
[0 0 0]
...
[0 0 0]
[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]
[0 0 0]
...
[0 0 0]
[0 0 0]
[0 0 0]]
...
[[0 0 0]
[0 0 0]
[0 0 0]
...
[0 0 0]
[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]
[0 0 0]
...
[0 0 0]
[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]
[0 0 0]
...
[0 0 0]
[0 0 0]
[0 0 0]]]
我实际上是在尝试逐帧从这个 Kaggle 数据集中读取文件 https://www.kaggle.com/realtimear/hand-wash-dataset
请帮助我理解这里的问题。非常感谢任何帮助。
【问题讨论】: