Sift特征提取 - OpenCV

9
我正在尝试使用(C ++)OpenCv进行SIFT特征提取。我需要使用SIFT提取特征,将它们匹配到原始图像(例如书籍)和场景之间,然后计算相机姿态。
到目前为止,我已经找到了使用SURF的此算法。有没有人知道我可以从中获取起点的基本代码,或者将链接中的算法从SURF转换为SIFT的方法?
提前致谢。
编辑: 好的,我解决了SIFT问题。现在我正在尝试解决相机姿态问题。我正在尝试使用:solvePnP,请问有人能给我一个示例吗?
3个回答

6

谢谢,但这些示例是针对SURF的。我需要SIFT,或者某种将SURF算法转换为SIFT的方法。 - Filipe

4
如果您已经成功地在图像和场景之间找到匹配,那么我建议您应用cv::findHomography()函数。它将使用4个匹配点作为输入来计算单应性矩阵。
您可以直接从单应性矩阵转换为相机姿势。

0

为了使用SIFT而不是SURF,我将SurfFeatureDetector更改为SiftFeatureDetector,并将SurfDescriptorExtractor更改为SiftDescriptorExtractor。对于一些图像,我发现SURF检测器<--> SIFT描述符的组合可以得到相对准确的结果,但您应该根据您的要求尝试其他组合(FAST检测器-FREAK描述符或ORB检测器-BRISK描述符)。

请按照此教程解决您问题中的单应性部分:特征匹配和单应性

另外,也许这会有所帮助:姿态估计


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接