python+OpenCV实现图像拼接


Posted in Python onMarch 05, 2020

本文实例为大家分享了利用python和OpenCV实现图像拼接,供大家参考,具体内容如下

python+OpenCV实现image stitching

在最新的OpenCV官方文档中可以找到C++版本的Stitcher类的说明, 但是python版本的还没有及时更新, 本篇对python版本的实现做一个简单的介绍.

由于官方文档中还没有python版本的Stitcher类的说明, 因此只能自己去GitHub源码上找, 以下是stitching的样例:

from __future__ import print_function
import cv2 as cv
import numpy as np
import argparse
import sys

modes = (cv.Stitcher_PANORAMA, cv.Stitcher_SCANS)

parser = argparse.ArgumentParser(description='Stitching sample.')
parser.add_argument('--mode',
 type = int, choices = modes, default = cv.Stitcher_PANORAMA,
 help = 'Determines configuration of stitcher. The default is `PANORAMA` (%d), '
   'mode suitable for creating photo panoramas. Option `SCANS` (%d) is suitable '
   'for stitching materials under affine transformation, such as scans.' % modes)
parser.add_argument('--output', default = 'result.jpg',
 help = 'Resulting image. The default is `result.jpg`.')
parser.add_argument('img', nargs='+', help = 'input images')
args = parser.parse_args()

# read input images
imgs = []
for img_name in args.img:
 img = cv.imread(img_name)
 if img is None:
  print("can't read image " + img_name)
  sys.exit(-1)
 imgs.append(img)

stitcher = cv.Stitcher.create(args.mode)
status, pano = stitcher.stitch(imgs)

if status != cv.Stitcher_OK:
 print("Can't stitch images, error code = %d" % status)
 sys.exit(-1)

cv.imwrite(args.output, pano);
print("stitching completed successfully. %s saved!" % args.output)

上面写了一大堆, 然鹅, 直接拿来用的话, 用下面的代码可以了, 简单粗暴

import numpy as np
import cv2
from cv2 import Stitcher

if __name__ == "__main__":
 img1 = cv2.imread('1.jpg')
 img2 = cv2.imread('2.jpg')
 stitcher = cv2.createStitcher(False)
 #stitcher = cv2.Stitcher.create(cv2.Stitcher_PANORAMA), 根据不同的OpenCV版本来调用
 (_result, pano) = stitcher.stitch((img1, img2))
 cv2.imshow('pano',pano)
 cv2.waitKey(0)

效果如下:

原图:

python+OpenCV实现图像拼接

python+OpenCV实现图像拼接

拼接后的图像:

python+OpenCV实现图像拼接

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python编程实现语音控制电脑
Apr 01 Python
使用PDB模式调试Python程序介绍
Apr 05 Python
在Python的Django框架中生成CSV文件的方法
Jul 22 Python
python魔法方法-属性访问控制详解
Jul 25 Python
python matplotlib坐标轴设置的方法
Dec 05 Python
django表单实现下拉框的示例讲解
May 29 Python
Python爬虫获取图片并下载保存至本地的实例
Jun 01 Python
在SQLite-Python中实现返回、查询中文字段的方法
Jul 17 Python
详解Django 时间与时区设置问题
Jul 23 Python
python实现几种归一化方法(Normalization Method)
Jul 31 Python
不到20行实现Python代码即可制作精美证件照
Apr 24 Python
Python 实现简单的客户端认证
Jul 29 Python
windows下Pycharm安装opencv的多种方法
Mar 05 #Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
Mar 05 #Python
浅谈Python的方法解析顺序(MRO)
Mar 05 #Python
python环境下安装opencv库的方法
Mar 05 #Python
Python序列化pickle模块使用详解
Mar 05 #Python
Window系统下Python如何安装OpenCV库
Mar 05 #Python
Python bytes string相互转换过程解析
Mar 05 #Python
You might like
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
javascript IFrame 强制刷新代码
2009/07/23 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
详解angularjs4部署文件过大解决过程
2018/12/05 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
2020京东618叠蛋糕js脚本(亲测好用)
2020/06/02 Javascript
JavaScript实现手机号码 3-4-4格式并控制新增和删除时光标的位置
2020/06/02 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
深入Python解释器理解Python中的字节码
2015/04/01 Python
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
Python selenium文件上传方法汇总
2020/11/19 Python
解决Python中list里的中文输出到html模板里的问题
2018/12/17 Python
Python 利用切片从列表中取出一部分使用的方法
2019/02/01 Python
Python函数和模块的使用总结
2019/05/20 Python
django框架model orM使用字典作为参数,保存数据的方法分析
2019/06/24 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
2020/04/02 Python
HTML5 本地存储 LocalStorage详解
2016/06/24 HTML / CSS
Shopee印度尼西亚:东南亚与台湾市场最大电商平台
2018/06/17 全球购物
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
AOP的定义以及作用
2013/09/08 面试题
精伦电子Java笔试题
2013/01/16 面试题
初中语文教学反思
2014/02/02 职场文书
《雨霖铃》教学反思
2014/02/22 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
演讲开场白和结束语
2015/05/29 职场文书
Windows7下FTP搭建图文教程
2022/08/05 Servers
TS 类型收窄教程示例详解
2022/09/23 Javascript