gpt4 book ai didi

c - 使用opencv手动拼接

转载 作者:行者123 更新时间:2023-11-30 17:38:53 24 4
gpt4 key购买 nike

嗨,我正在尝试在不使用 opencv 提供的缝合类的情况下缝合一些图像。但是,输出却出乎意料。我将用输入和输出图像来解释它。

输入1 enter image description here

输入2 enter image description here

预期输出enter image description here

实际输出enter image description here

我认为我的 ROI 复制有问题。有人请帮忙!!!

我的拼接部分代码如下-

std::vector< Point2f > points1,points2;
for( int i = 0; i < matches1.size(); i++ )
{
points1.push_back( keypoints_input1[matches1[i].queryIdx ].pt );
points2.push_back( keypoints_input2[matches1[i].trainIdx ].pt );
}
/* Find the Homography Matrix for current and next frame*/
Mat H1 = findHomography( points2, points1, CV_RANSAC );
/* Use the Homography Matrix to warp the images*/
cv::Mat result1;
warpPerspective(input2, result1, H1, Size(input2.cols+150, input2.rows+150), INTER_CUBIC);
Mat stitch_1(Size(input2.cols+150, input2.rows+150),CV_8UC3);
Mat roi1(stitch_1, Rect(0, 0, input1.cols, input1.rows));
Mat roi2(stitch_1, Rect(0, 0, result1.cols, result1.rows));


input2.copyTo(roi1);
result1.copyTo(roi2);

谁能告诉我哪里出错了?谢谢。

编辑:input1(640,360) 和 input2(790,510) 的大小不同。

最佳答案

我希望this example对你有帮助。

在不同的图像上进行测试很有趣。

编辑:

试试这个代码:

Mat stitch_1(Size(input2.cols*2+ input1.rows,input2.rows*2),CV_8UC3);
Mat roi1(stitch_1, Rect(0, 0, input1.cols, input1.rows));
Mat roi2(stitch_1, Rect(0, 0, result1.cols, result1.rows));
result1.copyTo(roi2);
input1.copyTo(roi1);
imshow("final", stitch_1);

关于c - 使用opencv手动拼接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22007383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com