私はステッチアルゴリズムを作成しようとしています。私は必要ないくつかの調整を加えて作成に成功しました。以下の写真はこれまでのステッチングプログラムの例です。私は(そう長く画像を横に飛行経路または側にあるとして、それはお互いに関係なく、自分の向きに動作する画像の順不同のリストでそれを提供することができるよ。 OpenCV Center Homography
画像ならば問題があります実際のステッチングのコードは次のとおりです。キーポイント、マッチング、およびホモグラフィの検索が正しく行われたとします。
このコードを変更すると、また、私はスタックオーバーフロー(Opencv Image Stitching or Panorama)でこのコードを取得し、それがどのように動作し、誰かそれを説明することができます。
事前にお問い合わせいただきありがとうございます。
Mat stitchMatches(Mat image1,Mat image2, Mat homography){
Mat result;
vector<Point2f> fourPoint;
//-Get the four corners of the first image (master)
fourPoint.push_back(Point2f (0,0));
fourPoint.push_back(Point2f (image1.size().width,0));
fourPoint.push_back(Point2f (0, image1.size().height));
fourPoint.push_back(Point2f (image1.size().width, image1.size().height));
Mat destination;
perspectiveTransform(Mat(fourPoint), destination, homography);
double min_x, min_y, tam_x, tam_y;
float min_x1, min_x2, min_y1, min_y2, max_x1, max_x2, max_y1, max_y2;
min_x1 = min(fourPoint.at(0).x, fourPoint.at(1).x);
min_x2 = min(fourPoint.at(2).x, fourPoint.at(3).x);
min_y1 = min(fourPoint.at(0).y, fourPoint.at(1).y);
min_y2 = min(fourPoint.at(2).y, fourPoint.at(3).y);
max_x1 = max(fourPoint.at(0).x, fourPoint.at(1).x);
max_x2 = max(fourPoint.at(2).x, fourPoint.at(3).x);
max_y1 = max(fourPoint.at(0).y, fourPoint.at(1).y);
max_y2 = max(fourPoint.at(2).y, fourPoint.at(3).y);
min_x = min(min_x1, min_x2);
min_y = min(min_y1, min_y2);
tam_x = max(max_x1, max_x2);
tam_y = max(max_y1, max_y2);
Mat Htr = Mat::eye(3,3,CV_64F);
if (min_x < 0){
tam_x = image2.size().width - min_x;
Htr.at<double>(0,2)= -min_x;
}
if (min_y < 0){
tam_y = image2.size().height - min_y;
Htr.at<double>(1,2)= -min_y;
}
result = Mat(Size(tam_x*2,tam_y*2), CV_32F);
warpPerspective(image2, result, Htr, result.size(), INTER_LINEAR, BORDER_CONSTANT, 0);
warpPerspective(image1, result, (Htr*homography), result.size(), INTER_LINEAR, BORDER_TRANSPARENT,0);
return result;`
トピックオフ:あなたは楽しんでいるように見えます。他の仕事に移る前に、無人でのパイプライン漏れを検出するためにこれを少し前に見ました。誰もそれを構築したかどうかは分かりません。 – user4581301
「逆転」とはどういう意味ですか? – KjMag
[テンプレートマッチングとwarpAffineを使用した画像のステッチング]の可能な複製(https://stackoverflow.com/questions/44457064/stitching-images-using-template-matching-and-warpaffine) –