Python和OpenCV-在特定点获取视频的持续时间

Hil*_*man 1 python video opencv

假设我已经编写了一个程序来检测视频中的绿色球。每当检测到一个绿色球时,我都希望打印出检测到绿色球时的视频时长。可能吗?

Dom*_*Cat 5

此答案中,您将找到确定每秒帧数的解决方案。

所以您想使用:

fps = cap.get(cv2.cv.CV_CAP_PROP_FPS)
Run Code Online (Sandbox Code Playgroud)

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

videotime = current_frame_number / fps.
Run Code Online (Sandbox Code Playgroud)

编辑:

@Miki建议使用CAP_PROP_POS_MSEC应在同一时间产生的结果(以[ms]为单位)

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

  • 使用“ CAP_PROP_POS_MSEC”(视频文件的当前位置,以毫秒为单位)会不会更容易? (2认同)