cv2 显示视频流并在另一个功能完成后添加覆盖
cv2 show video stream & add overlay after another function finishes
我目前正在进行实时人脸检测项目。
我所做的是使用 cv2 捕获帧,进行检测,然后使用 cv2.imshow() 显示结果,这导致 fps 较低。
我想要在屏幕上显示无延迟的高 fps 视频和低 fps 检测边界框覆盖。
有没有办法显示实时视频流(带最后一个检测结果边界框),一旦新的检测完成,显示新的边界框并且背景没有被检测功能延迟。
感谢任何帮助!
谢谢!
一种常见的方法是创建一个标志,允许检测算法每几帧仅 运行 一次,并将感兴趣的预测区域保存到列表中,同时为每一帧创建边界框。
例如,您有一个人脸检测算法,每 15 帧处理一次以检测人脸,但在每一帧中根据预测创建一个边界框。即使预测每 15 帧更新一次。
另一种方法可能是添加对象跟踪层。 运行 你的重型算法找到 ROI,然后使用对象跟踪库保留它们直到下一次 运行 检测算法。
希望这是有道理的。
我目前正在进行实时人脸检测项目。
我所做的是使用 cv2 捕获帧,进行检测,然后使用 cv2.imshow() 显示结果,这导致 fps 较低。
我想要在屏幕上显示无延迟的高 fps 视频和低 fps 检测边界框覆盖。
有没有办法显示实时视频流(带最后一个检测结果边界框),一旦新的检测完成,显示新的边界框并且背景没有被检测功能延迟。
感谢任何帮助!
谢谢!
一种常见的方法是创建一个标志,允许检测算法每几帧仅 运行 一次,并将感兴趣的预测区域保存到列表中,同时为每一帧创建边界框。
例如,您有一个人脸检测算法,每 15 帧处理一次以检测人脸,但在每一帧中根据预测创建一个边界框。即使预测每 15 帧更新一次。
另一种方法可能是添加对象跟踪层。 运行 你的重型算法找到 ROI,然后使用对象跟踪库保留它们直到下一次 运行 检测算法。
希望这是有道理的。