我试图在将两个图像拼接在一起后拼接第三个图像,但它似乎不起作用。
为了详细说明,我使用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 语句不会映射拼接区域。编码 :
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 的结果给出了黑色图像而不是剩余区域。
有人可以告诉我哪里可能出错以及如何解决吗?谢谢