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

yipeiwu_com6年前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程序中操作文件之flush()方法的使用教程

 flush()方法刷新内部缓冲区,像标准输入输出的fflush。这类似文件的对象,无操作。 Python关闭时自动刷新文件。但是可能要关闭任何文件之前刷新数据。 语法 以下是...

Python实现读取字符串按列分配后按行输出示例

本文实例讲述了Python实现读取字符串按列分配后按行输出。分享给大家供大家参考,具体如下: 问题: 输入一个字符串和一个数字,数字代表分为几行,需要按照给定的列存储方法存储下来之后按行...

python2.7安装图文教程

python2.7安装图文教程

Python安装过程,供大家参考,具体内容如下 1.下载安装程序 我们安装Python的一个重要目的是为了用IAR编译CC2640 OAD文件时执行合并文件的脚本,所以我们一起来看看Py...

对python以16进制打印字节数组的方法详解

对python以16进制打印字节数组的方法详解

一、问题描述 如果直接用print打印bytes的话,有时候会直接显示ascii对应的字符,看起来很蛋疼。 二、运行效果 上面一行是直接用print打印的结果,很明显,第一个字节0x7...

pygame学习笔记(2):画点的三种方法和动画实例

pygame学习笔记(2):画点的三种方法和动画实例

1、单个像素(画点) 利用pygame画点主要有三种方法: 方法一:画长宽为1个像素的正方形 复制代码 代码如下: import pygame,sys pygame.init() scr...