我正试图将第三张图像拼接到已经拼接了两张图像的结果上,但是好像不起作用。
更具体地说,我已经成功地使用OpenCV文档中提供的代码(http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html)拼接了两张图像,并得到了这张图片。 http://i.stack.imgur.com/gqQjV.jpg
随后,经过大量阅读和关于ROI的问题,我删除了图像的黑色部分,得到了如下图片。
现在,我正在试图使用相同的代码将第三张图片(http://i.stack.imgur.com/nXD86.jpg)拼接到这个图像中,但是拼接不起作用。特征匹配完美运行。
但执行程序后,我获得了具有较大黑色区域(由于ROI而引起)且没有第三张图像的相同图像。(输出:http://i.stack.imgur.com/WzZA0.jpg)
我发现这可能与拼接图像末尾的细小黑色条有关,因此WarpPerspective语句没有映射到拼接区域。代码如下:
更具体地说,我已经成功地使用OpenCV文档中提供的代码(http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html)拼接了两张图像,并得到了这张图片。 http://i.stack.imgur.com/gqQjV.jpg
随后,经过大量阅读和关于ROI的问题,我删除了图像的黑色部分,得到了如下图片。
![enter image description here](https://istack.dev59.com/u6GLe.webp)
但执行程序后,我获得了具有较大黑色区域(由于ROI而引起)且没有第三张图像的相同图像。(输出:http://i.stack.imgur.com/WzZA0.jpg)
我发现这可能与拼接图像末尾的细小黑色条有关,因此WarpPerspective语句没有映射到拼接区域。代码如下:
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);
warpperspective的结果会给出一张黑色的图片,而不是其余区域。
请问有没有人能告诉我可能哪里出错了,以及如何解决?谢谢。