我希望使用OpenCV和C ++拼接两个或更多图像。图像具有重叠区域但是未检测到它们。我尝试使用单应检测器。有人可以建议我应该使用哪些其他方法。另外,我希望使用ORB算法,而不是SIFT或SURF。 图像可在以下位置找到: https://drive.google.com/open?id=133Nbo46bgwt7Q4IT2RDuPVR67TX9xG6F
答案 0 :(得分:2)
这是一个非常普遍的问题。因为像这样的图像,它们实际上并没有太多共同之处。重叠区域没有丰富的特征。您可以做的是深入了解opencv stitcher代码并在那里使用置信度因子进行特征匹配,在这种情况下,您可以使用该置信因子来获得匹配。但这只有在您的特征检测器能够检测到重叠区域中的某些特征时才有效。
你也可以看一下这篇文章: Related Question
它可能对您有所帮助。
这是OPencv Stitching代码的完整pipleline。您可以看到,您可以更改许多参数,以使您的代码提供一些良好的拼接结果。另外我建议使用小图像(640 X480)进行特征检测。使用小图像比使用非常大的图像更好