OpenCV Python 从视频中提取图像
一个视频就是一系列的帧,每个帧就是一张图片。通过使用OpenCV,可以通过执行imwrite()函数来提取组成视频文件的所有帧直到视频结束。
cv2.read()函数返回下一个可用的帧。该函数还返回一个布尔值,直到流结束都为真。在循环中递增一个计数器,并将其用作文件名。
以下程序演示了如何从视频中提取图像 –
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()