1

私はopenCVでプロジェクトを行っています.2つの画像をSIFTキーポイントと照合し、K最近傍検索を使用して同じ画像から適切に一致させました。ここで、k=2 です。

ここで、image2 で一致する SIFT キーポイントの座標値と、Image2 の対応するキーポイントの座標値を取得したいと考えています。どんな体でもこれで私を助けることができますか?ありがとう。

私は解決策を見つけます...それは非常に簡単でした...愚かな私...キーポイントをCvPointsに変換しただけで、そこから座標値を簡単に取得できます....

4

2 に答える 2

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);

  }  
于 2012-04-30T02:42:09.663 に答える
0

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

于 2012-04-27T08:10:42.087 に答える