使用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设计】。

相关文章

Django框架 querySet功能解析

可切片 使用Python 的切片语法来限制查询集记录的数目 。它等同于SQL 的LIMIT 和OFFSET 子句。 >>> Entry.objects.all()...

Python 3.8正式发布重要新功能一览

Python 3.8正式发布重要新功能一览

Python3.8有哪些你要关注的新内容?  Python3.8 都有哪些新功能,在文档手册中,大家可以有一个概览。这么多新内容,哪些是大家最先要关注一下的呢?下面,营长就带...

python多进程中的内存复制(实例讲解)

python多进程中的内存复制(实例讲解)

比较好奇python对于多进程中copy on write机制的实际使用情况。目前从实验结果来看,python 使用multiprocessing来创建多进程时,无论数据是否不会被更改,...

pandas 层次化索引的实现方法

层次化索引是pandas的一项重要功能,它使你能在一个轴上拥有多个(两个以上)索引级别。 创建一个Series,并用一个由列表或数组组成的列表作为索引。 data=Series(np...

用Python实现斐波那契(Fibonacci)函数

Fibonacci斐波那契数列,很简单,就是一个递归嘛,学任何编程语言可能都会做一下这个。 最近在玩Python,在粗略的看了一下Learning Python和Core Python之...