【问题标题】:co-ordinate of the matched SIFT keypoints匹配的 SIFT 关键点的坐标
【发布时间】:2012-04-27 06:31:49
【问题描述】:

我正在使用 openCV 做一个项目,其中我将两个图像与 SIFT 关键点匹配,并使用 K 最近邻搜索从相同的图像中获得了良好的匹配。其中 k=2。

现在我想获取在 image2 中匹配良好的 SIFT 关键点的坐标值,以及 Image2 中相应关键点的坐标值。任何机构都可以帮助我解决这个问题。谢谢。

我找到了解决方案......这很容易......我很傻......我只是将关键点转换为 CvPoints,然后我可以很容易地得到坐标值......

【问题讨论】:

    标签: c++ c opencv sift


    【解决方案1】:

    所有..我已经解决了问题...首先我将匹配好的关键点转换为 Cvpoints,然后从 Cvpoints 中获取坐标..相同的代码如下-

     for( i =0; i <good_matches.size(); i++ )
      {
        // the keypoints from the good matches only
        points1.push_back( keypoints1[ good_matches[i].queryIdx ].pt );
        points2.push_back( keypoints2[ good_matches[i].trainIdx ].pt );
    
        printf("xco-ordinate of good mathched keypoints in image1   %d\n\n",points1[i].x);
        printf("y co-ordinate for image 1    %d \n\n",points1[i].y);
        printf("x co-ordinate for image2    %d \n\n",points2[i].x);
        printf("y co-ordinate for image2    %d\n\n",points2[i].y);
    
      }  
    

    【讨论】:

      【解决方案2】:

      您可以使用 CvKNearest::find_nearest(...) 获取相邻向量。我相信您正在寻找参数邻居。

      参考资料:

      http://docs.opencv.org/modules/ml/doc/k_nearest_neighbors.html?highlight=cvknearest#cvknearest-find-nearest

      较旧的文档,但带有代码示例:

      http://opencv.willowgarage.com/documentation/cpp/k_nearest_neighbors.html

      【讨论】:

      • 抱歉,我不是在寻找邻居向量...我想知道 SIFT 关键点的确切 (x,y) 坐标,它在 image2 中具有良好匹配的关键点,反之亦然.
      猜你喜欢
      • 2018-03-18
      • 1970-01-01
      • 2022-06-18
      • 2015-03-24
      • 1970-01-01
      • 2011-10-21
      • 1970-01-01
      • 2015-01-01
      • 1970-01-01
      相关资源
      最近更新 更多