如何使用OpenCV内置的stitcher类来拼接图片?

使用OpenCV自带的Stitcher类来完成两张图片的拼接很简单,只要直接调用就可以,下面给大家展示一段代码。

import time
import cv2
import os
import sys


def main():
    # read input images
    imgs = []
    path = 'E:/picture/room/'
    i = 0
    for (root, dirs, files) in os.walk(path):
        images = [f for f in files]
        print(images)
        for i in range(0, len(images)):
            curImg = cv2.imread(path + images[i])
            imgs.append(curImg)
            
	# 这一行需要注意
    stitcher = cv2.createStitcher(False)
    status, result_image = stitcher.stitch(imgs)
    if status != cv2.Stitcher_OK:
        print("Can't stitch images, error code = %d" % status)
        sys.exit(-1)
    cv2.imwrite("E:/picture/room/output.jpg", result_image)
    cv2.waitKey(10)

if __name__ == '__main__':
    start = time.time()
    main()
    end = time.time()
    cv2.destroyAllWindows()

注意:
在OpenCV 3.x版本中是cv2.createStitcher(),而在OpenCV 4.x中是cv2.Stitcher_create()函数,这需要注意。

输入图片:

输入图片1
在这里插入图片描述
输出结果图片:
在这里插入图片描述
完!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值