ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Opencv Q&A_2 Stitcher/pyplot

2022-03-06 16:32:39  阅读:186  来源: 互联网

标签:原图 plt img pyplot Opencv 拼接 cv Stitcher


2022/03/06

利用Stitcher进行图像全景拼接

 

代码

import cv2 as cv
import os
from matplotlib import pyplot as plt


img = []
path = 'D:\work\\automation\Skill\Python\pythonWORK\cv\material\pano'

folder = os.listdir(path)

for file in folder:
    img_tem = cv.imread(path + '\\' + file)
    img_tem = cv.resize(img_tem,(0,0),None,0.5,0.5)     #原图缩放太小可能导致拼接失败
    img.append(img_tem)


stitcher = cv.Stitcher.create(cv.Stitcher_PANORAMA)     #创建对象
status, img_pano = stitcher.stitch(img)     #输出:判断是否拼接成功,拼接结果
if status == cv.STITCHER_OK:
    for i in range(len(folder)):
        plt.subplot(1,len(folder)+1,i+1)
        plt.imshow(cv.cvtColor(img[i],cv.COLOR_BGR2RGB))    #pyplot颜色为BGR
        plt.axis('off')
    plt.show()
    plt.title('original')
    cv.imshow('img_pano',img_pano)
    cv.waitKey(0)

 

运行效果

 

图一   进行拼接的原图 

 

图二   拼接完成的图

 

 

遇到的问题

 

Q1:有时拼接失败

A1:失败原因1:原图进行缩小时过于小导致信息丢失过多;失败原因2:原图裁剪重合区域过少。

Q2:其他函数

A2:

1:os.listdir():读取路径的文件夹内容,返回文件名列表。

2:pyplot展示图片过程:subplot放置位置,imshow设置展示图片,show全部展示。

  pyplot函数读取图片默认BGR,需进行转换成RGB如:

plt.imshow(cv.cvtColor(img[i],cv.COLOR_BGR2RGB))    #pyplot颜色为BGR

  消除坐标轴:

 plt.axis('off')

   

 

标签:原图,plt,img,pyplot,Opencv,拼接,cv,Stitcher
来源: https://www.cnblogs.com/toriyung/p/15972453.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有