使用python-opencv读取视频,计算视频总帧数及FPS的实现

yipeiwu_com7年前Python基础

如下所示:

1、计算总帧数

import os
import cv2
 
video_cap = cv2.VideoCapture('ffmpeg_test.avi')
 
frame_count = 0
all_frames = []
while(True):
  ret, frame = video_cap.read()
  if ret is False:
    break
  all_frames.append(frame)
  frame_count = frame_count + 1
 
# The value below are both the number of frames
print frame_count
print len(all_frames)

2、计算视频中的FPS,即每秒传输帧数(Frames per second)

import cv2
if __name__ == '__main__' :
 
  video = cv2.VideoCapture("video.mp4");
 
  # Find OpenCV version
  (major_ver, minor_ver, subminor_ver) = (cv2.__version__).split('.')
 
  if int(major_ver) < 3 :
    fps = video.get(cv2.cv.CV_CAP_PROP_FPS)
    print "Frames per second using video.get(cv2.cv.CV_CAP_PROP_FPS): {0}".format(fps)
  else :
    fps = video.get(cv2.CAP_PROP_FPS)
    print "Frames per second using video.get(cv2.CAP_PROP_FPS) : {0}".format(fps)
 
  video.release();

以上这篇使用python-opencv读取视频,计算视频总帧数及FPS的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python栈算法的实现与简单应用示例

Python栈算法的实现与简单应用示例

本文实例讲述了Python栈算法的实现与简单应用。分享给大家供大家参考,具体如下: 原理: 栈作为一种数据结构,是一种只能在一端进行插入和删除操作。它按照先进后出的原则存储数据,先进入的...

浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器

浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器

1.iterable iterator区别 要了解两者区别,先要了解一下迭代器协议: 迭代器协议是指:对象需要提供__next__()方法,它返回迭代中的元素,在没有更多元素后,抛出St...

python实战串口助手_解决8串口多个发送的问题

今晚终于解决了串口发送的问题,更改代码如下: def write(self, data): if self.alive: if self.serSer.isOpe...

基于django ManyToMany 使用的注意事项详解

使用场景一: 如果在一张表中ManayTOManay字段关联的是自身,也就是出项这样的代码: ManyToManyField(self) 那么,你需要注意一点,当你采用add方法将一个自...

python逆向入门教程

python逆向入门教程

1、开发环境 我们在Windows 10上开始python逆向之旅,首先开始搭建开发环境,python解释器使用最新的3.6.1,IDE使用PyCharm社区版2017.1.3,下载地址...