【发布时间】:2020-04-28 16:39:04
【问题描述】:
我有一些视频需要抓取并存储为 png 图像。
我只需要特定时间的帧。
这些时间以微秒为单位。
我怎样才能只抓取这些帧?
ret, frame = cap.read()
cv2.imshow("Video", frame)
cap = cv2.VideoCapture("video.mp4")
count = 0
while vidcap.isOpened():
if count == int(308608300 / 1000000):
cv2.imwrite(os.path.join(path_output_dir, '%d.png') % count)
cv2.destroyAllWindows()
【问题讨论】:
-
有什么理由不使用
ffmpeg? -
“任何不只使用 ffmpeg 的理由”我需要它在 Python 中发生,因为它从 txt 文件中读取并将内容放在不同的文件夹中,并创建文件夹。
-
感谢@Nicolae 的回答。当我执行
success,image = vidcap.read()和getvalue = vidcap.get(0)时,我看到getvalue每次都返回一个新值。我对这个值是什么以及如何精确定位精确帧的微秒有点迷茫。