在第10帧进行处理时,使用OpenCV读取视频的9帧

2024-04-20 07:19:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个在python中检测人脸的程序,它使用face_recognition library进行检测,然后对90%的帧使用跟踪算法,它执行这些操作,每个操作确定了帧数,在我的例子中是10,但由于视频的分辨率,它的速度没有必要快。由此我想到了三条主要的途径:

  1. 使要检测的帧数增加,这将使不需要的常规检测变得更差

  2. 降低视频质量,这将降低检测率,这也是不希望的

  3. 制作一个线程,读取10帧中的1帧并计算检测,同时主程序读取其余帧并执行跟踪。我不知道这是否可能。我发现可以使用以下方法阅读我想要的框架:

    cap.set(1, 100)
    ret, frame = cap.read() 
    

我不知道是否可以做的是线程部分,因为我只找到了有关向线程引入参数的信息,但没有收到它们。在线程同时执行计算和绘图的情况下,我需要一个标志来表示显示或写入帧的时刻


Tags: 程序算法视频library质量分辨率线程速度