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中的__init__和__new__
Mar 12 Python
python实现超简单端口转发的方法
Mar 13 Python
Python脚本实现虾米网签到功能
Apr 12 Python
python自带的http模块详解
Nov 06 Python
Python连接SQLServer2000的方法详解
Apr 19 Python
python的scikit-learn将特征转成one-hot特征的方法
Jul 10 Python
python print输出延时,让其立刻输出的方法
Jan 07 Python
selenium+python自动化测试之多窗口切换
Jan 23 Python
在Pandas中处理NaN值的方法
Jun 25 Python
wxpython+pymysql实现用户登陆功能
Nov 19 Python
Python实现遗传算法(二进制编码)求函数最优值方式
Feb 11 Python
详解PyQt5信号与槽的几种高级玩法
Mar 24 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
PHP strtotime函数详解
2009/12/18 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
PHP向浏览器输出内容的4个函数总结
2014/11/17 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
js操作时间(年-月-日 时-分-秒 星期几)
2010/06/20 Javascript
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
2015/08/05 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
2016/03/11 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
JavaScript定时器常见用法实例分析
2019/11/15 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
python模糊图片过滤的方法
2018/12/14 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
PYTHON EVAL的用法及注意事项解析
2019/09/06 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
基于css3仿造window7的开始菜单
2010/06/17 HTML / CSS
CSS3绘制有活力的链接下划线
2016/07/14 HTML / CSS
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
办公室文秘自我鉴定
2013/09/21 职场文书
出国签证在职证明
2014/01/16 职场文书
高中军训第一天感言
2014/03/06 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
歌颂祖国演讲稿
2014/05/04 职场文书
2014年最新领导班子整改方案
2014/09/27 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
2016大学生党校学习心得体会
2016/01/06 职场文书