原理
对多张图片进行基于SIFT的特征检测算法,如果符合最小拼接要求大的关键点`matchKeypoints`数量,使用`OpenCV-Python`自带的`stitching`方法进行全景拼接,但是对于拼接后的黑边裁剪效果不好,可以修改优化。
代码:https://download.youkuaiyun.com/download/xddwz/13695588
使用方式
python image_stitching.py --images images/scottsdale --output output.png --crop 1
其中`images/scottsdale`为待拼接图像所在文件夹,`output.png`为处理拼接保存后的图像;这里使用了相对路径,因为在工程根目录下运行了终端。不确定在根目录最好使用完整的绝对路径。` --crop 1`为是否裁剪黑色边框,缺省则不裁剪。
效果
相比其他方式,因为使用了较好的匹配关键点,所以拼接没有`裂缝`,没有`鬼影`
crop去除黑边之后的效果:
如果匹配失败的话检查opencv-contrib-python的版本,我的是4.1.2.30,用3.3.0.10则可能匹配失败。