OpenCV Python - 从视频中提取图像


视频只不过是一系列帧,每个帧都是一个图像。通过使用 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()