我正在尝试开始使用(C++) OpenCv进行sift特性提取。我需要使用SIFT提取特征,在原始图像(例如一本书)和场景之间进行匹配,然后计算相机的姿态。
到目前为止,我发现这种算法使用的是冲浪。有没有人知道一个基本代码,我可以从中开始,或者可能是一种方法,在链接中的算法从冲浪到筛选?
提前谢谢。
编辑: Ok,我想出了一个sift问题的解决方案。现在我想弄清楚相机的姿势。我试着用: solvePnP,有人能帮我举个例子吗?
发布于 2012-07-07 20:02:49
查看新的feature2d教程部分文档网站。有代码显示的教程:
发布于 2012-09-03 13:27:19
如果您找到了图像和场景之间的匹配,那么我建议您应用cv::findHomography()。它将以4个匹配项作为输入,计算出相应的同调矩阵。
您可以转换为相机姿态从同形矩阵直接。
发布于 2012-11-08 14:30:16
由于使用SIFT而不是冲浪,我将SurfFeatureDetector改为SiftFeatureDetector,SurfDescriptorExtractor改为SiftDescriptorExtractor。对于一些图像,我发现组合SURF检测器<-> SIFT描述符获得了相对准确的结果,但是您应该试验其他组合(快速检测器-反常描述符或ORB检测器-活力描述符),这取决于您的需求。
请按照本教程来解决您的问题中的同形部分:特征匹配与单字
另外,也许这会有帮助:姿态估计
https://stackoverflow.com/questions/11378203
复制相似问题