缝合文档图像-使用OpenCV的SURF

缝合文档图像-使用OpenCV的SURF,opencv,surf,image-stitching,Opencv,Surf,Image Stitching,我目前正在尝试将文件的4张照片缝合在一起。我使用的是OpenCV 2.9、SURF提取器和描述符,hessian阈值为2000,否则关键点太多。我拒绝任何距离大于2*min_dist的匹配,并使用findHomography RANSAC方法和warpPerspective合并图像 这就是目前的情况。 为什么findHomography计算的变换矩阵似乎不准确? 在我看来,这些比赛相当不错: 有没有办法提高成绩?任何预处理,如二值化、去噪、自动对比等,pp.都没有任何影响,甚至使情况变得更糟

我目前正在尝试将文件的4张照片缝合在一起。我使用的是OpenCV 2.9、SURF提取器和描述符,hessian阈值为2000,否则关键点太多。我拒绝任何距离大于2*min_dist的匹配,并使用findHomography RANSAC方法和warpPerspective合并图像

这就是目前的情况。

为什么findHomography计算的变换矩阵似乎不准确? 在我看来,这些比赛相当不错:


有没有办法提高成绩?任何预处理,如二值化、去噪、自动对比等,pp.都没有任何影响,甚至使情况变得更糟。

使用相机校准来消除镜头失真,并确保您的文档完全是平面的,然后将其粘在桌面上,否则计算的单应性是wront假设,这对于许多应用程序来说可能没有那么大的错误,但是如果你需要最好的精度,这是一个因素。一个改进的想法是首先像你那样计算单应性。然后将图像分割成更小的重叠部分,并仅局部计算同音字。然后使用束调整将所有部件缝合在一起。我不确定这是以前做过的还是公开研究:我同意米卡的观点,分成几个细胞,然后在相应的细胞中寻找同音字。另一个想法是增加检测到的关键点的数量。能否请您更详细地解释这些较小的部件的外观以及如何执行捆绑调整?您可以尝试MLESAC而不是RANSAC。您也可以使用注册方法,如广义双引导ICP算法中描述的方法,作者还提供了二进制文件。