Python-图像拼接神器-stitching

多幅图像的拼接

采用这个包,图像拼接结果很好~
代码只需要三四行

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
Python-图像拼接神器-stitching_第1张图片
图片2
Python-图像拼接神器-stitching_第2张图片
图片3
Python-图像拼接神器-stitching_第3张图片

拼接后的效果图

图像拼接的效果图:
Python-图像拼接神器-stitching_第4张图片

其他优点说明

比如:你想将这三张图片拼接在一起,但是在这里面有混入了一张无关的照片,他还是会拼接的很好;
什么意思呢
具体来说:
我把这四张图片放在一起进行拼接
图片1
Python-图像拼接神器-stitching_第5张图片
图片2
Python-图像拼接神器-stitching_第6张图片
图片3Python-图像拼接神器-stitching_第7张图片
图片4
Python-图像拼接神器-stitching_第8张图片
将以上四张图片一起拼接会发生什么呢?
Python-图像拼接神器-stitching_第9张图片

这个就是图片拼接后的结果。

代码优化

# 代码优化
#当你有很多图片要读取时,一个个的在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)

你可能感兴趣的:(opencv,python,计算机视觉,开发语言)