2

現在、Eclipse で基本的なイメージ ステッチング C++ (OpenCV) コードを実装しようとしています。特徴検出部分は、SURF 特徴に対して優れた結果を示しています。ただし、2 つの画像を一緒にワープしようとすると、画像の半分しか出力されません。どこでも解決策を見つけようとしましたが、役に立ちませんでした。この回答OpenCV warpperspectiveのように、ホモグラフィ行列をオフセットしようとさえしました。これまでのところ何も役に立ちませんでした。

評判ポイントが足りないので、出力画像をコメントに添付します。

機能の検出とホモグラフィについては、ここから正確なコードを使用しました http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html

そして、指定されたコードの後に​​次のコードを追加しました。

Mat result;
warpPerspective(img_object,result,H, Size(2*img_object.cols,img_object.rows));
Mat half(result,Rect(0,0,img_scene.cols,img_scene.rows));
img_scene.copyTo(half);

imshow( "Warped Image", result);

私はこれにまったく慣れておらず、ピースをまとめようとしています。ですので、基本的な間違いがありましたら申し訳ありません。

4

2 に答える 2

1

ピースをまとめようとしているだけなら、組み込みの OpenCV 画像スティッチャー クラスを試してみてください: http://docs.opencv.org/modules/stitching/doc/high_level.html#stitcher

于 2013-02-04T11:19:20.463 に答える
0

ここで関連する質問を見つけましたopencvで2つの画像をステッチし、指定された追加のコードを実装しました。出来た!

参考までに、私が書いた編集コードは

Mat result;
warpPerspective(img_scene, result, H, Size(img_scene.cols*2, img_scene.rows*2), INTER_CUBIC);
Mat final(Size(img_scene.cols + img_object.cols, img_scene.rows*2),CV_8UC3);
Mat roi1(final, Rect(0, 0,  img_object.cols, img_object.rows));
Mat roi2(final, Rect(0, 0, result.cols, result.rows));
result.copyTo(roi2);
img_object.copyTo(roi1);
于 2013-02-18T07:04:36.007 に答える