首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >视频Python的帧率

视频Python的帧率
EN

Stack Overflow用户
提问于 2014-06-23 16:46:52
回答 2查看 8.3K关注 0票数 5

代码:

代码语言:javascript
复制
    import cv2
    import numpy as np
    import sys
    import webcolors
    import time

    cam=cv2.VideoCapture('video2.avi')
    _, fo = cam.read()
    framei = cv2.cvtColor(fo, cv2.COLOR_BGR2GRAY)
    bg_avg = np.float32(framei)
    video_width = int(cam.get(3))
    video_height = int(cam.get(4))
    fr = int(cam.get(5))
    print("frame rate of stored video:::",fr)

    while(cam.isOpened): 
           f,img=cam.read()
           start_fps=time.time()
           .
           .
           .
           k = cv2.waitKey(20)
           if(k == 27):
               break
         endtime_fps=time.time()
         diff_fps=endtime_fps-start_fps
         print("Frame rate::",1/diff_fps)

对于每次迭代,这将打印不同的帧速率,如: 166.67212398172063,200.00495922941204,200.00495922941204,31.249936670193268,76.92300920661702,38.46150460330851……等等,其中一些值重复了几次。现在,存储的视频的帧率值为25。那么它被读取的实际帧速率是多少呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-24 01:26:47

我不确定,但我认为这可能归结于你的计时方法。我认为Python的time.time()方法不能保证足够的精度来提供您想要的实时分析信息。

票数 2
EN

Stack Overflow用户

发布于 2018-05-26 23:32:34

您可以使用以下代码获取FPS(每秒帧数):

代码语言:javascript
复制
import cv2
cam = cv2.VideoCapture('video2.avi')
fps = cam.get(cv2.CAP_PROP_FPS)
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24361771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档