opencv:将图像拼接在一起

时间:2012-04-01 17:21:48

标签: opencv

我正在尝试将两个图像拼接在一起,但只有第一个可以在最终图像中看到。 这是我的代码:

Mat result(1000, 1000, CV_8UC3);
Mat firstPart = result(Rect(0, 0, image1.cols, image1.rows));
Mat secondPart = result(Rect(deltaX, deltaY, image2.cols+deltaX, image2.rows+deltaY));
image1.copyTo(firstPart);
image2.copyTo(secondPart);
imshow("result", result);

image2仅在结果中可见,如果deltaX和deltaY为零,我无法弄清楚原因(image2 + deltaX <1000,deltaY相同)。

1 个答案:

答案 0 :(得分:0)

来自android我假设Rect的参数是左,上,右,下,但它们是左,顶部配对的宽度和高度。因此必须

Rect(deltaX, deltaY, image2.cols, image2.rows)

而不是

Rect(deltaX, deltaY, image2.cols+deltaX, image2.rows+deltaY)