pythonopencv图像拼接缝隙_python+OpenCV实现图像拼接
本文实例为大家分享了利用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)
效果如下:
原图:
拼接后的图像:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
时间: 2020-03-04
pythonopencv图像拼接缝隙_python+OpenCV实现图像拼接相关推荐
- pythonopencv图像形态_Python+OpenCV图像处理之其他形态学操作
顶帽(Top Hat): 原图像与开操作之间的差值图像,突出原图像中比周围亮的区域 黑帽(Black Hat): 闭操作图像与原图像的差值图像, 突出原图像中比周围暗的区域 形态学梯度(Gradien ...
- pythonopencv图像形态_python+opencv图像形态学处理详细解释(膨胀、腐蚀、开闭运算、礼帽和黑猫)...
python+opencv图像形态学处理 本篇博客主要是关于形态学中的腐蚀.膨胀.开运算.闭运算.礼帽和黑帽的函数用法. 内容会比较,为方便查阅.代码的解释会写在代码中. 用于测试的图像原图: 一.腐 ...
- pythonopencv检测行人_Python+OpenCV进行行人检测
Python+OpenCV进行行人检测 应用非极大抑制方法,可排除候选的重叠检测 使用前环境及库配置 我运行的环境为Python3.6(Anaconda3)+OpenCV3,IDE:PyCharm 1 ...
- python图像拼接_python opencv 图像拼接的实现方法
初级的图像拼接为将两幅图像简单的粘贴在一起,仅仅是图像几何空间的转移与合成,与图像内容无关.高级图像拼接也叫作基于特征匹配的图像拼接,拼接时消去两幅图像相同的部分,实现拼接合成全景图. 具有相同尺寸的 ...
- 利用OpenCV实现图像拼接的代码
图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 图像拼接是利用连续帧图像生成全景图或更高分辨率的 ...
- opencv图像拼接_使用OpenCV进行图像全景拼接
点击上方"AI小白学视觉",选择加"星标"或"置顶"重磅干货,第一时间送达 图像拼接是计算机视觉中最成功的应用之一.如今,很难找到不包含此功 ...
- 使用Python和OpenCV进行图像拼接和全景图构建
使用Python和OpenCV进行图像拼接和全景图构建 1. 效果图 2. 原理及步骤 3. 源码 3.1 拼接类源码 3.2 拼接用到的工具类 3.3 叠加多张图像源码 参考 这篇博客将介绍如何使用 ...
- 利用C++中的opencv进行图像拼接
这篇文章依旧是记录采用C++复现图像拼接过程解决遇到的问题.因为自己没有学过C++,大学学的C考完试立马还给老师了,Python也是现学的,只会一点点MATLAB,所以遇到的问题和解决都很基础,目的是 ...
- OpenCV常用图像拼接方法(一) :直接拼接(硬拼)
OpenCV常用图像拼接方法将分为四部分与大家分享,这里是第一种方法,欢迎关注后续. OpenCV常用图像拼接方法(一) :直接拼接,俗称硬拼,就是简单的将两张图片合并成一张大图. 方法比较简单,这里 ...
最新文章
- It appears as though you do not have permission to view information ...
- SAP PM 初级系列23 - IW22 事务代码里创建维修工单
- django中csrftoken跨站请求伪造的几种方式
- OpenCV推断onnx格式目标检测模型(SSD)(附完整代码)
- 解决win7下netbeans安装的错误问题
- 划分数据集代码(按照4:1的比例)以及根据各自文件名写入txt文件
- base昆明,腾讯云在合作伙伴的阵营中@了TA
- 国家邮政局:对刷单、贩卖快递盲盒等进行清理整顿
- 程序员如何应对双十一购物的大流量冲击?
- 洛谷 P2622 关灯问题II (状态压缩+BFS)
- 闲聊Framebuffer
- 几款基于ODE的机器人仿真软件
- GPS NMEA码详解
- 碎片化学习和系统化学习的对比
- Digital Booklet - Taylor Swift Karao-pdf
- python登录豆瓣_手把手教你用python模拟登录豆瓣
- nand2tetris 第二章 布尔运算
- win10修改服务器时间,win10设置时间服务器地址
- 震撼!寒冬腊月里惊现多台历途外墙清洗机器人 1
- cmake编译pcl程序时出现‘boost::this_thread::hiden::sleep_until(timespec const)’未定义的引用