嗨,已经看过很多教程如何使用两张照片进行简单的图像拼接,这没问题。
但是,当我想从 4-6 张或更多图像中制作全景图时该怎么办?
我有接收图像文件列表的代码(图像按顺序从序列中的第一个图像到最后一个图像)。然后对于每个图像,我计算 SIFT 特征描述符。但是后来我被卡住了,对于两个图像,我会使用 FLANN kd-tree 设置一个匹配器并找到图像之间的匹配并计算 Homography。类似于本教程http://docs.opencv.org/trunk/doc/py_tutorials/py_feature2d/py_feature_homography/py_feature_homography.html#py-feature-homography
但我没有在最后显示特征点之间的线条,而是使用此https://stackoverflow.com/a/20355545/622194函数从 2 张图像制作全景图。但是当我想将第三张和第四张图像添加到全景图时,我不确定该怎么做。
编辑:
从答案中,我尝试实现我的图像拼接脚本来计算图像序列中彼此相邻的图像之间的单应矩阵。所以如果我有 I1 I2 I3 和 I4 我现在有 H_12、H_23 和 H_34。然后我开始使用 H_12 缝合 I1 和 I2。然后我想找到累积单应性将 I3 拼接到当前全景图。我 fing H_13 = H_12*H_23 并将图像 3 缝合到当前全景图,但在这里我的全景图像中有非常明显的间隙,当缝合下一张图像时,间隙更大,图像非常拉伸。
谁能告诉我我是否为此使用了正确的方法,或者有人可以发现错误或查看我做错了什么。