首页 文章

筛选提取 - opencv

提问于
浏览
9

我正在尝试使用(C)OpenCv开始使用筛选特征提取 . 我需要使用SIFT提取特征,在原始图像(例如书籍)和场景之间匹配它们,然后计算相机姿势 .

到目前为止,我发现this algorithm使用SURF . 有没有人知道我可以开始使用的基本代码,或者可能是将链接中的算法从SURF转换为SIFT的方法?

提前致谢 .

EDIT: 好的,我为筛选问题制定了解决方案 . 现在我试图使用:solvePnP,任何人都可以帮我一个例子吗?

3 回答

  • 0

    查看新OpenCV docs网站的feature2d tutorial section . 有教程,代码显示:

  • 5

    如果你设法找到图像和场景之间的匹配,那么我建议你应用cv :: findHomography() . 它将使用4个匹配作为输入来计算单应矩阵 .

    您可以直接从单应矩阵转换为相机姿势 .

  • 4

    为了使用SIFT而不是SURF,我将 SurfFeatureDetector 更改为 SiftFeatureDetector 并将 SurfDescriptorExtractor 更改为 SiftDescriptorExtractor . 对于某些图像,我发现组合SURF检测器< - > SIFT描述符产生相对准确的结果,但您应该尝试其他组合(FAST检测器 - FREAK描述符或ORB检测器 - BRISK描述符),具体取决于您的要求 .

    请按照本教程解决问题的单应性部分:Feature Matching and Homography

    此外,也许这会有所帮助:Pose Estimation

相关问题