7

我一直在运行一个从多个相机拼接图像的项目,但我认为我遇到了瓶颈......我对这个问题有一些疑问。

我想将来尝试将它们安装在车辆上,这意味着相机的相对位置和方向是固定的。

另外,由于我正在使用多个相机并尝试使用 HOMOGRAPHY 从它们中拼接图像,因此我将相机尽可能靠近,以便错误(由于相机的焦点不在同一位置和这是不可能的,因为相机占用了一定的空间。)可以减少。

这是我的一个简短的实验视频。 http://www.youtube.com/watch?v=JEQJZQq3RTY

如图所示,拼接结果非常糟糕......即使相机捕获的场景是静态的,单应性仍然保持变化。

以下链接是我到目前为止所做的代码,code1.png 和 code2.png 是显示我在 Stitching_refind.cpp 中的部分代码的图片。

https://docs.google.com/folder/d/0B2r9FmkcbNwAbHdtVEVkSW1SQW8/edit?pli=1

几天前我已经更改了代码中的一些内容,例如执行第 2、3 和 4 步(请检查上面提到的 2 张 png 图片),只需一次。


总结一下,我的问题是:

1. 在计算特征之前是否可以找出重叠区域? 我不想计算整个图像的特征,因为它会导致更多的计算时间和不匹配。我想知道是否可以仅在 2 个相邻图像的重叠区域中使用计算机特征?

2.如何使得到的单应性更准确? 有人谈到 CAMERA CALIBRATION 并尝试其他一些匹配方法。我还是计算机视觉的新手……我尝试研究一些有关相机校准的材料,但我仍然不知道它的用途。

大约 2 个月前,我在这里问了一个类似的问题: 使用 OpenCV 进行图像拼接时遇到一些困难

,其中一位回答者克里斯说:

听起来您这样做是明智的,但是如果您可以访问两个摄像头,并且它们彼此之间将保持静止,那么离线校准并简单地在线应用转换将使您的应用程序更有效率。

“离线校准”是什么意思?它有什么帮助?

感谢您的任何建议和帮助。

4

1 回答 1

5

正如克里斯所写:

However, your points are not restricted to a specific plane as they are 
imaging a 3D scene. If you wanted to calibrate offline, you could image 
a chessboard with both cameras, and the detected corners could be used
in this function.

离线校准意味着您使用一些易于检测的校准模式。然后计算变换矩阵。在此校准之后,您将此(先前计算的)矩阵应用于获取的图像,它应该适合您。

于 2012-07-15T20:13:59.337 回答