3

我从两个不同的相机接收图像,具有不同的帧速率和分辨率。其中一台相机(智能相机)用作控制器。它从其他相机和自己的图像传感器接收图像,然后将图像对保存在板载内存中。在这里,我有一个问题。我必须对每对图像进行立体匹配。因此,图像应该完全同步(仅相隔几毫秒)。我将两台相机都指向屏幕上的秒表并捕捉图像,以查看它们在时间上的距离。结果令人失望的是,它们都不是同步的,一对之间的时间偏移也不是恒定的。我正在使用 linux 和 C 编程。我尝试了两个 posix 线程来从单个相机捕​​获图像。第一个线程 cam1() 在开始图像捕获之前向另一个线程 cam2() 发出信号。因此,两个图像捕获应该同时开始。但这也不起作用。我真的很感激这方面的任何解决方案。

4

1 回答 1

1

在每个传感器网络中,时钟同步都是一个非常具有挑战性的问题。我不是专家,但是您可以尝试一些解决方案。

首先,nm 是对的!在需要控制 FPS(您需要具有相同的 FPS)、曝光、时间戳等的高 FPS 情况下,软件同步非常困难。相机同步通常在外部完成,称为外部触发和同步 I/O。

在外部同步的相机中,两个时钟并不总是相同的。相机时钟晶体总是有一个设计指定的漂移。您可以计算两个图像以可区分的方式漂移并重置时钟所需的时间。我使用 AVT 相机已经有一段时间了。公司提议

有兴趣将相机时间戳同步到另一个时钟的用户应该注意,相机时钟会从另一个时钟漂移,因此需要通过重置时间戳来定期重新同步。

如果您的 FPS 较低,并且您可以随时知道丢帧数,您可以与每个帧的名为 Frame Count 的(增加的)注释同步。

如果您有立体校准图像,则默认相机图像中的某些特征(任意定义一个或仅触发另一个)可能位于/靠近穿过另一台相机的核线。因此,极线可能会在您的程序逻辑中引入某种不变量来配对特征(检测到的斑点)。

于 2012-05-14T10:00:07.123 回答