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之使用Python操作数据库(1)
Nov 25 Python
浅谈python字符串方法的简单使用
Jul 18 Python
Python实现复杂对象转JSON的方法示例
Jun 22 Python
Python基于回溯法子集树模板解决m着色问题示例
Sep 07 Python
Python中查看变量的类型内存地址所占字节的大小
Jun 26 Python
Python使用matplotlib实现交换式图形显示功能示例
Sep 06 Python
Python箱型图绘制与特征值获取过程解析
Oct 22 Python
python爬虫模拟浏览器的两种方法实例分析
Dec 09 Python
Python嵌入C/C++进行开发详解
Jun 09 Python
python实现银行账户系统
Feb 22 Python
Python的flask接收前台的ajax的post数据和get数据的方法
Apr 12 Python
pandas进行数据输入和输出的方法详解
Mar 23 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 pki加密技术(openssl)详解
2013/07/01 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
PHP中trim()函数简单使用指南
2015/04/16 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
2021/03/09 PHP
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
javascript实现日历控件(年月日关闭按钮)
2012/12/12 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
微信支付如何实现内置浏览器的H5页面支付
2015/09/25 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
jQuery中table数据的值拷贝和拆分
2017/03/19 Javascript
JavaScript函数节流的两种写法
2017/04/07 Javascript
基于bootstrap页面渲染的问题解决方法
2018/08/09 Javascript
全面了解JavaScript的作用域链
2019/04/03 Javascript
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
Python 制作糗事百科爬虫实例
2016/09/22 Python
使用Python的Scrapy框架十分钟爬取美女图
2016/12/26 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
铭万公司.net面试题笔试题
2014/07/20 面试题
厨房领班竞聘演讲稿
2014/04/23 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
天猫活动策划方案
2014/08/21 职场文书
2015年学校德育工作总结
2015/04/22 职场文书