采用这个包,图像拼接结果很好~
代码只需要三四行
import stitching
import cv2
imgs = ["data/test02/1Hill.jpg","data/test02/2Hill.jpg","data/test02/3Hill.jpg",]
stitcher = stitching.Stitcher()
panorma = stitcher.stitch(imgs)
cv2.imshow("after",panorma)
cv2.waitKey(0)
比如:你想将这三张图片拼接在一起,但是在这里面有混入了一张无关的照片,他还是会拼接的很好;
什么意思呢
具体来说:
我把这四张图片放在一起进行拼接
图片1
图片2
图片3
图片4
将以上四张图片一起拼接会发生什么呢?
这个就是图片拼接后的结果。
# 代码优化
#当你有很多图片要读取时,一个个的在img的列表中写文件名称时,比较繁琐
#因此作出此优化改进
import stitching
import cv2
import glob
def read_images(image_paths):
images = []
for image_path in image_paths:
image = cv2.imread(image_path)
images.append(image)
return images
# 图片路径列表
image_paths = glob.glob("data/test01/*.jpg")
# 读取图片
images = read_images(image_paths)
# imgs = ["data/test01/1Hill.jpg","data/test01/1.jpg","data/test01/2.jpg","data/test01/3.jpg"]
stitcher = stitching.Stitcher()
panorma = stitcher.stitch(images)
cv2.imshow("after",panorma)
cv2.waitKey(0)
```python
# 完结撒花
![在这里插入图片描述](https://img-blog.csdnimg.cn/80318465378840cc99aa4777f66bcf3d.png)