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中的数据存储模块shelve的用法

shelve类似于一个key-value数据库,可以很方便的用来保存Python的内存对象,其内部使用pickle来序列化数据,简单来说,使用者可以将一个列表、字典、或者用户自定义的类实...

Python基本socket通信控制操作示例

本文实例讲述了Python基本socket通信控制操作。分享给大家供大家参考,具体如下: python — 基本socket通信控制(控制在celie.txt文件中主机IP地址可以发送信...

基于python3 类的属性、方法、封装、继承实例讲解

Python 类 Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法。 对象可以包含任意数量和类...

Python cookbook(数据结构与算法)对切片命名清除索引的方法

本文实例讲述了Python对切片命名清除索引的方法。分享给大家供大家参考,具体如下: 问题:如何清理掉到处都是硬编码的切片索引 解决方案:对切片命名 假设有一些代码用来从字符串的固定位置...

Python操作json的方法实例分析

Python操作json的方法实例分析

本文实例讲述了Python操作json的方法。分享给大家供大家参考,具体如下: python中对json操作方法有两种,解码loads()和编码dumps() 简单来说: impor...