Opencv Python 简明教程
OpenCV Python - Extract Images from Video
视频只不过是由一系列帧组成的,且每个帧都是一幅图像。使用 OpenCV 时,可以通过执行 imwrite() 函数直至视频结束来提取组成视频文件的所有帧。
cv2.read() 函数将返回下一个可用的帧。该函数还会提供一个返回值,该值在流结束前一直保持为 true。在此处,循环内部将对计数器递增,并将其用作文件名。
以下程序演示如何从视频中提取图像:
import cv2
import os
cam = cv2.VideoCapture("video.avi")
frameno = 0
while(True):
ret,frame = cam.read()
if ret:
# if video is still left continue creating images
name = str(frameno) + '.jpg'
print ('new frame captured...' + name)
cv2.imwrite(name, frame)
frameno += 1
else:
break
cam.release()
cv2.destroyAllWindows()