我一直在运行一个从多个相机拼接图像的项目,但我认为我遇到了瓶颈......我对这个问题有一些疑问。
我想将来尝试将它们安装在车辆上,这意味着相机的相对位置和方向是固定的。
另外,由于我正在使用多个相机并尝试使用 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 进行图像拼接时遇到一些困难
,其中一位回答者克里斯说:
听起来您这样做是明智的,但是如果您可以访问两个摄像头,并且它们彼此之间将保持静止,那么离线校准并简单地在线应用转换将使您的应用程序更有效率。
“离线校准”是什么意思?它有什么帮助?
感谢您的任何建议和帮助。