如何获得减少延迟的OpenCV实时预览?

时间:2018-11-06 02:49:48

标签: c++ opencv

因此,我正在一个项目中,当某个灯亮起时,人必须从摄像机隐藏目标,程序必须识别出目标已被隐藏,并且我还将收集其他一些传感器数据。我的问题是,尽管OpenCV在我需要的地方真的很有用,但通过 imshow() 在监视器中显示图像时,却存在很大的延迟(60〜 110毫秒),它可以与收集的数据相互配合。例如,我使用200 Hz采样的IMU(每个采样之间5毫秒)。 OpenCV论坛中的人说,此命令主要用于调试,而实际的内容(http://answers.opencv.org/question/91867/displaying-image-results-in-real-time/)应该使用另一个GUI。

即使我仅从相机捕获图像,也没有任何处理,也可以感觉到延迟。我在StackOverflow上看到过一些话题,说线程应该是有帮助的,没什么,但是我完全迷失了,没有任何帮助。也许我看错了东西。我知道监视器本身已经使图像累加了约16ms,还应该考虑其他因素,但是我的目标是40ms或更短。

TL,DR:我正在寻找某种方法来减少 imshow() 的延迟,或者用它替代我仍然不知道的其他内容(我我一直在寻找其他GUI,例如DirectShow),至少我应该对我应该在哪里寻找什么方向有所了解。任何形式的建议或提示都将是很好的。

我目前正在使用带有最新Qt和MSVC2015编译器的OpenCV 3.3.0(由于以前的相机SDK存在某些情况,但希望尽快进行更改)。该项目将我的代码主要限制在Windows和C ++中。这是我目前正在使用的相机:http://www.elpcctv.com/1080p-mini-usb-camera-full-hd-usb20-ov2710-color-sensor-mjpeg-format-and-36mm-lens-p-207.html

0 个答案:

没有答案