2

ポイントのセットと、同じまたは異なる を持つ可能性のある<Point2f> Left別の があります。Left の最初の点が Right などの最初の点に対応することはわかっています。たとえば、 を使用して描画するなど、続行するためにa を構築する方法はありますか? 私はc++を使用しています。<Point2f> Rightsize()vector <Dmatch> matchesdrawMatches

4

1 に答える 1

1

対応を知っていますか?

サイズが違う場合は、対応を知っておく必要があります。いずれにせよ、それらが同じサイズで対応していると仮定すると、次のようになります(コンパイルしていないため、エラーが発生する可能性があります)。

DMatch は、インデックスを追跡するための簿記用の単純なラッパーです。

vector<DMatch> matches(left.size());
for(size_t i = 0; i <left.size(); ++i)
  matches[i] = Dmatch(i, i, 0);

// make keypoints 
vector<KeyPoint> kp_left(left.size());
for(size_t i = 0; i < left.size(); ++i)
  kp_left[i] = Keypoint(left[i], 1);
// do the same for the right image 

// draw the stuff
drawMatches(left_image, keypts_left, right_image, keypts_right, matches, out_image);
imshow("matches", out_image);
waitKey(0);
于 2014-10-24T05:19:23.660 に答える