cv2显示视频流并在另一个功能完成后添加叠加

时间:2018-11-01 03:08:27

标签: python cv2

我目前正在从事实时人脸检测项目。

我所要做的是,我使用cv2捕获帧,进行检测,然后使用cv2.imshow()显示结果,从而导致fps低。

我希望在屏幕上显示高fps的视频而没有滞后,并且在屏幕上显示低fps的检测边界框。

是否有一种解决方案来显示实时视频流(带有最后一个检测结果边界框),并且一旦完成新的检测,就显示新的边界框并且检测功能不会延迟背景。

感谢您的帮助!

谢谢!

1 个答案:

答案 0 :(得分:0)

一种常见的方法是创建一个标志,该标志允许检测算法每两帧仅运行一次,并将感兴趣的预测区域保存到列表中,同时为每帧创建边界框。

因此,例如,您有一个人脸检测算法,每第15帧处理一次以检测人脸,但是在每帧中都根据预测创建一个边界框。即使预测每15帧更新一次。

另一种方法可能是添加对象跟踪层。运行繁重的算法以查找ROI,然后使用对象跟踪库将其保留下来,直到下一次运行检测算法。

希望这很有道理。