python 视频 图像帧提取

import cv2
vidcap = cv2.VideoCapture('005.avi')
success,image = vidcap.read()
count = 0
success = True
while success:
  success,image = vidcap.read()
  cv2.imwrite("frame%d.jpg" % count, image)     # save frame as JPEG file
  if cv2.waitKey(10) == 27:                     
      break
  count += 1

  

waitKey()函数详解 

 1--waitKey()--这个函数是在一个给定的时间内(单位ms)等待用户按键触发;如果用户没有按下 键,则接续等待(循环)

 2--如下所示: while(1){ if(waitKey(100)==27)break; } 在这个程序中,我们告诉OpenCv等待用户触发事件,等待时间为100ms,如果在这个时间段内, 用户按下ESC(ASCII码为27),则跳出循环,否则,不跳出循环

 3--如果设置waitKey(0),则表示程序会无限制的等待用户的按键事件

videoCapture.read() 函数,第一个返回值为是否成功获取视频帧,第二个返回值为返回的视频帧:

success, frame = videoCapture.read()

cv2.VideoWriter(filename, fourcc, fps, framesize, isColor)–视频写入/出

使用这个函数可以创建一个用于写出视频文件的句柄,第一个参数为写出的视频文件的名字/路径,第二个参数为写出视频的编码格式,

第三个参数为写出视频的fps值,第四个参数为写出视频的画面大小,最后一个参数为设置写出视频是否为彩色视频,可以省略,默认为彩色。

参考:

https://blog.csdn.net/william_hehe/article/details/79584191

https://blog.csdn.net/farmwang/article/details/74170975

原文地址:https://www.cnblogs.com/Allen-rg/p/10229766.html