python 读取视频,处理后,实时计算帧数fps的方法

yipeiwu_com5年前Python基础

实时计算每秒的帧数

cap = cv2.VideoCapture("DJI_0008.MOV")
#cap = cv2.VideoCapture(0)
 
# Define the codec and create VideoWriter object
#fourcc = cv2.cv.FOURCC(*'XVID')
fourcc = cv2.VideoWriter_fourcc(*'XVID') 
out = cv2.VideoWriter('output1.avi', fourcc, 20, (1920, 1080))
 
num=0
 
while cap.isOpened():
  # get a frame
  rval, frame = cap.read()
  # save a frame
  if rval==True:
   # frame = cv2.flip(frame,0)
   	# Start time
    start = time.time()
    rclasses, rscores, rbboxes=process_image(frame) #换成自己调用的函数
    # End time
    end = time.time()
  	# Time elapsed
    seconds = end - start
    print( "Time taken : {0} seconds".format(seconds))
  	# Calculate frames per second
    fps = 1 / seconds;
    print( "Estimated frames per second : {0}".format(fps));
    #bboxes_draw_on_img(frame,rclasses,rscores,rbboxes)
    #print(rclasses)
    out.write(frame)
    num=num+1
    print(num)
    #fps = cap.get(cv2.CAP_PROP_FPS)
    #print("Frames per second using video.get(cv2.CAP_PROP_FPS) : {0}".format(fps)) 
  else:
    break
  # show a frame
  cv2.imshow("capture", frame)
  if cv2.waitKey(1) & 0xFF == ord('q'):
    break
cap.release()
out.release()
cv2.destroyAllWindows()

以上这篇python 读取视频,处理后,实时计算帧数fps的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python脚本调用iftop 统计业务应用流量的思路详解

因公司服务器上部署应用较多,在有大并发访问、业务逻辑有问题的情况下反复互相调用或者有异常流量访问的时候,需要对业务应用进行故障定位,所以利用python调用iftop命令来获取应用进程流...

用python求一重积分和二重积分的例子

首先是对一元函数求积分,使用Scipy下的integrate函数: from scipy import integrate def g(x): return (1-x**2)**...

基于Python2、Python3中reload()的不同用法介绍

reload() 简介 作用:用于重新载入之前载入的模块 语法格式:reload(module) 参数:module为模块对象,必须已经被加载 返回值:返回模块对象 注意事项: 多次重复...

Python装饰器原理与基本用法分析

本文实例讲述了Python装饰器原理与基本用法。分享给大家供大家参考,具体如下: 装饰器: 意义:在不能改变原函数的源代码,和在不改变整个项目中原函数的调用方式的情况下,给函数添加新的功...

详谈Python3 操作系统与路径 模块(os / os.path / pathlib)

以下代码以Python3.6.1 / windows10为例 Less is more! #!/usr/bin/env python # coding=utf-8 __author...