【发布时间】:2012-01-26 16:54:38
【问题描述】:
我注意到 OpenCV 有一个奇怪的地方。我使用 OpenCV 提供的基本示例 C 程序之一在屏幕上显示相机输出。但是,与相机看到的相比,我看到屏幕上的输出稍有延迟。因此,如果我将手移到相机前,它会以大约 0.1 秒的延迟出现在屏幕上。我们正在开发一个对这些延迟非常敏感的应用程序。有没有办法消除这种延迟,使图像传输是瞬时的?例如,当我通过 Skype 查看我的相机输出时,我看不到微小的延迟。
非常感谢! P.
【问题讨论】:
-
最终输出分辨率是多少?这与Skype分辨率相比如何?你能指定哪个样本吗?您使用的是什么操作系统?
-
很可能您必须编写自己的、高度优化的库来立即捕获相机。简单的驱动程序,例如 OpenCV 中使用的驱动程序,具有固有的延迟
-
平台是 Windows 7 64 位。输出分辨率为 640x480。示例代码很简单。它名为 camera.py,位于 python 的示例目录中。我不知道 Skype 与 OpenCV 的输出速度之间的定量差异,但我可以通过查看视频并将手快速移到它前面看到,当我通过 opencv 中的 imshow() 输出视频时,我得到大约 0.1 秒的延迟,但 Skype 摄像头输出几乎没有延迟。如果 OpenCV 驱动程序有固有的延迟,那么这是 OpenCV 的问题,我们将不得不改变技术。感谢您的帮助!