应该是最简单的一种方式了

代码和讲解如下

# -*- 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();

执行结果:
opencv3.4.3 + Python3.6 读取本地视频并显示,获取视频fps和总帧数

相关文章:

  • 2021-12-04
  • 2021-11-17
  • 2022-01-22
  • 2021-07-25
  • 2022-02-17
  • 2021-09-19
  • 2021-07-29
  • 2021-12-08
猜你喜欢
  • 2022-02-07
  • 2021-12-17
  • 2022-01-18
  • 2021-07-07
  • 2022-01-16
  • 2021-11-27
  • 2021-12-02
相关资源
相似解决方案