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

yipeiwu_com6年前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中的argv和argc使用详解

主要问题 为什么argv中第一个,即index=0的内容就是文件名? python中argc是用什么实现的? 概念解释 argc:argument counter,命令行参数个数 ar...

python 连接各类主流数据库的实例代码

本篇博文主要介绍Python连接各种数据库的方法及简单使用 包括关系数据库:sqlite,mysql,mssql 非关系数据库:MongoDB,Redis 代码写的比较清楚,直接上代码...

浅析Python装饰器以及装饰器模式

漫谈 如果作为一个Python入门,不了解Python装饰器也没什么,但是如果作为一个中级Python开发人员,如果再不对python装饰器熟稔于心的话,那么可能并没有量变积累到质变。...

python BeautifulSoup设置页面编码的方法

在用BeautifulSoup进行抓取页面的时候,会各种各样的编码错误。 可以通过在beautifulsoup中指定字符编码,解决问题。 复制代码 代码如下: import urllib...

python用于url解码和中文解析的小脚本(python url decoder)

复制代码 代码如下: # -*- coding: utf8 -*- #! python print(repr("测试报警,xxxx是大猪头".decode("UTF8").encode(...