假设我制作了一个程序来检测视频中的绿球。每当检测到绿球时,我想在检测到绿球时打印出视频的持续时间。有可能吗?
答案 0 :(得分:4)
在this answer中,您将找到确定每秒帧数的解决方案。
所以你想要使用:
fps = cap.get(cv2.cv.CV_CAP_PROP_FPS)
并计算您所在的帧数。然后,您可以使用
计算视频时间videotime = current_frame_number / fps.
编辑:
@Miki建议使用CAP_PROP_POS_MSEC
,这应该导致同一时间([ms]中)
根据@ Swiper-CCCVI
的指示更正了我的拼写错误答案 1 :(得分:0)
您可以使用
以毫秒为单位简单地测量视频中的某个位置time_milli = cap.get(cv2.CAP_PROP_POS_MSEC)
然后将 time_milli
除以 1000 以获得以秒为单位的时间。