我目前正在尝试在 Eclipse 中实现基本的图像拼接 C++ (OpenCV) 代码。特征检测部分显示了 SURF 特征的出色结果。但是,当我尝试将 2 张图像扭曲在一起时,我只得到一半的图像作为输出。我试图到处寻找解决方案,但无济于事。我什至试图抵消单应矩阵,就像在这个答案OpenCV warpperspective中一样。到目前为止没有任何帮助。
由于我没有足够的声誉点,我将在评论中附上输出图像。
对于特征检测和单应性,我使用了这里的确切代码 http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html
然后我在给定代码之后添加了以下代码,
Mat result;
warpPerspective(img_object,result,H, Size(2*img_object.cols,img_object.rows));
Mat half(result,Rect(0,0,img_scene.cols,img_scene.rows));
img_scene.copyTo(half);
imshow( "Warped Image", result);
我对此很陌生,只是想把这些碎片放在一起。因此,如果有一些基本错误,我深表歉意。