【发布时间】:2012-05-08 15:42:57
【问题描述】:
我正在接收来自两个不同相机的图像,它们具有不同的帧速率和分辨率。其中一台相机(智能相机)用作控制器。它从其他相机和自己的图像传感器接收图像,然后将图像对保存在板载内存中。在这里,我有一个问题。我必须对每对图像进行立体匹配。因此,图像应该完全同步(仅相隔几毫秒)。我将两台相机都指向屏幕上的秒表并捕捉图像,以查看它们在时间上的距离。结果令人失望的是它们都不是同步的,一对之间的时间偏移也不是恒定的。我正在使用 linux 和 C 编程。我尝试了两个 posix 线程来从单个相机捕获图像。第一个线程 cam1() 在开始图像捕获之前向另一个线程 cam2() 发出信号。因此,两个图像捕获应该同时开始。但这也不起作用。我非常感谢这方面的任何解决方案。
【问题讨论】:
-
我不是相机专家,所以以下只是我的无知观点。这并不简单,因为涉及内核驱动程序。你不知道他们施加了什么样的延迟。另外,硬件本身可能会引入延迟。我认为您必须使用相同的帧速率从两个摄像头流式传输视频,并找到流之间的最佳时间偏移(并且可能会继续重新评估偏移,因为帧速率可能会漂移)。
标签: c synchronization camera