【问题标题】:Python and OpenCV - getting the duration time of a video at certain pointsPython和OpenCV - 在某些点获取视频的持续时间
【发布时间】:2016-10-08 07:13:45
【问题描述】:

假设我编写了一个程序来检测视频中的绿球。每当检测到绿球时,我想在检测到绿球时打印出视频的持续时间。有可能吗?

【问题讨论】:

    标签: python opencv video


    【解决方案1】:

    在this answer 中,您将找到确定每秒帧数的解决方案。

    所以你想使用:

    fps = cap.get(cv2.cv.CV_CAP_PROP_FPS)
    

    并计算您所在的帧数。然后您可以使用

    计算视频时间
    videotime = current_frame_number / fps.
    

    编辑:

    @Miki 建议使用CAP_PROP_POS_MSEC,这应该会导致相同的时间(以 [ms] 为单位)

    更正了@Swiper-CCCVI 指出的我的错字

    【讨论】:

    • 会不会更容易使用CAP_PROP_POS_MSEC(视频文件的当前位置,以毫秒为单位)?
    • 这不是视频时间的倒数吗?实际上不应该是 current_frame_number / fps 吗?
    【解决方案2】:

    您可以使用

    简单地测量视频中的某个位置(以毫秒为单位)

    time_milli = cap.get(cv2.CAP_PROP_POS_MSEC)

    然后将time_milli 除以 1000 得到以秒为单位的时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-24
      • 1970-01-01
      • 2017-01-19
      • 2020-03-17
      • 2014-06-09
      • 1970-01-01
      • 1970-01-01
      • 2016-04-23
      相关资源
      最近更新 更多