应该是最简单的一种方式了
代码和讲解如下
# -*- coding: utf-8 -*-
import cv2
# 读取视频
cap = cv2.VideoCapture("2.avi")
# 获取FPS(每秒传输帧数(Frames Per Second))
fps = cap.get(cv2.CAP_PROP_FPS)
# 获取总帧数
totalFrameNumber = cap.get(cv2.CAP_PROP_FRAME_COUNT)
print(fps)
print(totalFrameNumber)
# 当前读取到第几帧
COUNT = 0
# 若小于总帧数则读一帧图像
while COUNT < totalFrameNumber:
# 一帧一帧图像读取
ret, frame = cap.read()
# 把每一帧图像保存成jpg格式(这一行可以根据需要选择保留)
cv2.imwrite(str(COUNT) + '.jpg', frame)
# 显示这一帧地图像
cv2.imshow('video', frame)
COUNT = COUNT + 1
# 延时一段33ms(1s➗30帧)再读取下一帧,如果没有这一句便无法正常显示视频
cv2.waitKey(33)
cap.release();
执行结果: