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()
广告