【发布时间】:2016-10-08 07:13:45
【问题描述】:
假设我编写了一个程序来检测视频中的绿球。每当检测到绿球时,我想在检测到绿球时打印出视频的持续时间。有可能吗?
【问题讨论】:
假设我编写了一个程序来检测视频中的绿球。每当检测到绿球时,我想在检测到绿球时打印出视频的持续时间。有可能吗?
【问题讨论】:
在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(视频文件的当前位置,以毫秒为单位)?
您可以使用
简单地测量视频中的某个位置(以毫秒为单位)time_milli = cap.get(cv2.CAP_PROP_POS_MSEC)
然后将time_milli 除以 1000 得到以秒为单位的时间。
【讨论】: