本文实例为大家分享了python实现图像拼接的具体代码,供大家参考,具体内容如下

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

一、效果 

二、代码

1、单张图片拼接

# 图片拼接
from PIL import Image
# pil paste可以进行图片拼接
import cv2
import numpy as np path="F:/out/"+str(0)+".jpg"
img_out=cv2.imread(path) num=5
for i in range(1,num):
path="F:/out/"+str(i)+".jpg"
img_tmp=cv2.imread(path) #横向
img_out = np.concatenate((img_out, img_tmp), axis=1) # 纵向
# img_out = np.concatenate((img_out, img_tmp)) cv2.imshow("IMG",img_out)
cv2.imwrite("F:/out/merge.jpg",img_out)
cv2.waitKey(0)

2、批量图片拼接

# 图片拼接
from PIL import Image
# pil paste可以进行图片拼接
import cv2
import numpy as np
import glob as glob
import os num=5
os.chdir(r"F:\out")
img_name=[]
for file_name in glob.glob("*.jpg"):
print(file_name)
img_name.append(file_name) # 批量处理图片
img_path = glob.glob("F:/out/*jpg")
for i in range(int(len(img_path)/num)):
path = img_path[i*num]
print(path)
img_out = cv2.imread(path) for j in range(1, num):
path = img_path[i*num+j]
img_tmp = cv2.imread(path) # 横向
img_out = np.concatenate((img_out, img_tmp), axis=1) # cv2.imshow("IMG", img_out)
cv2.imwrite("F:/out/"+img_name[i*num+j][0:-6]+"_out.jpg", img_out)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持python博客

python实现单张图像拼接与批量图片拼接的更多相关文章

  1. python实现指定目录下批量文件的单词计数:并发版本

    在 文章 <python实现指定目录下批量文件的单词计数:串行版本>中, 总体思路是: A. 一次性获取指定目录下的所有符合条件的文件 -> B. 一次性获取所有文件的所有文件行 - ...

  2. linux,windows下检测指定的IP地址是否可用或者检测IP地址冲突的3种方式(批处理程序,python程序,linux shell 批量ping)

    本文中的脚本适用范围: 1)检测某些IP地址是否被占用: 2)检测网络中某些设备是否存活: 3)在分配新的ip地址之前,批量检测环境中是否存在冲突的机器 以上检测基于ICMP Ping报文,要求所有的 ...

  3. selenium+python自动化78-autoit参数化与批量上传

    前言 前一篇autoit实现文件上传打包成.exe可执行文件后,每次只能传固定的那个图片,我们实际测试时候希望传不同的图片. 这样每次调用的时候,在命令行里面加一个文件路径的参数就行. 一.命令行参数 ...

  4. 【Python项目】简单爬虫批量获取资源网站的下载链接

    简单爬虫批量获取资源网站的下载链接 项目链接:https://github.com/RealIvyWong/GotDownloadURL 1 由来 自己在收集剧集资源的时候,这些网站的下载链接还要手动 ...

  5. 基于七牛Python SDK写的一个批量下载脚本

    前言 上一篇基于七牛Python SDK写的一个同步脚本所写的脚本只支持上传,不支持文件下载. 虽然这个需求不太强烈,但有可能有人(在备份.迁移时)需要,而官方有没提供对应的工具,所以我就把这个功能也 ...

  6. QGis 利用Python Console编写脚本进行批量处理

    前言 这篇文章里,我们要完成一些数据的合并,计算等操作. 准备工作 首先要了解Qgis的编程模型,具体参考文章<QGIS里的编程模型>及<Qgis里的查询过滤>.了解了Qgis ...

  7. [ python ] 项目二:主机批量管理程序

    开发要求: 1. 对主机进行批量管理    2. 可对单台或主机组批量执行命令    3. 可上传文件到对应的主机或组    4. 使用多线程实现  程序: 1. README # 作者:hkey # ...

  8. selenium+python自动化78-autoit参数化与批量上传【转载】

    转至博客:上海-悠悠 前言前一篇autoit实现文件上传打包成.exe可执行文件后,每次只能传固定的那个图片,我们实际测试时候希望传不同的图片.这样每次调用的时候,在命令行里面加一个文件路径的参数就行 ...

  9. python使用MySQLdb向mySQL批量插入数据的方法

    该功能通过调用mySQLdb python库中的 cursor.executemany()函数完成批量处理. 今天用这个函数完成了批量插入 例程: def test_insertDB(options) ...

随机推荐

  1. MyBatis框架基础详细开发流程

    MyBatis 项目已托管到GitHub,大家可以去GitHub查看下载!并搜索关注微信公众号 码出Offer 领取各种学习资料! 一.框架概述 1.1 什么是框架? 软件的半成品,解决了软件开发过程 ...

  2. 数据可视化之powerBI基础(十六)PowerQuery的这个小功能,让你轻松发现数据质量问题

    https://zhuanlan.zhihu.com/p/64418072 源数据常常包含各种差错值,为了进行下一步的分析,我们必须先找出并更正这些差错,做这些工作几乎不会有什么快乐感可言,但却往往需 ...

  3. Presto原理及安装

    背景 MapReduce不能满足大数据快速实时adhoc查询计算的性能要求,Facebook2012年开发,2013年开源 是什么 基于内存的并行计算,Facebook推出的分布式SQL交互式查询引擎 ...

  4. git分支管理的策略和冲突问题

    目录 备注: 知识点 关于分支中的冲突 分支管理的策略 分支策略 备注: 本文参考于廖雪峰老师的博客Git教程.依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文. 知识点 git log ...

  5. OSCP Learning Notes - WebApp Exploitation(5)

    Remote File Inclusion[RFI] Prepare: Download the DVWA from the following website and deploy it on yo ...

  6. 帮助你更好的理解Spring循环依赖

    网上关于Spring循环依赖的博客太多了,有很多都分析的很深入,写的很用心,甚至还画了时序图.流程图帮助读者理解,我看了后,感觉自己是懂了,但是闭上眼睛,总觉得还没有完全理解,总觉得还有一两个坎过不去 ...

  7. oracle 启动报ORA-01105 ORA-19808

    bash-4.4$ srvctl start instance -i jfcddb2 -d jfcddb PRCR-1013 : Failed to start resource ora.jfcddb ...

  8. 自学 Python 到什么程度能找到工作,1300+ 条招聘信息告诉你答案

    随着移动互联网的发展以及机器学习等热门领域带给人们的冲击,让越来越多的人接触并开始学习 Python.无论你是是科班出身还是非科班转行,Python 无疑都是非常适合你入门计算机世界的第一门语言,其语 ...

  9. Redis知识总结

    1.什么是Redis Redis是一个nosql(not only sql 不仅仅只有sql)数据库,翻译成中文叫做非关系型数据库,低由C语言开发,数据模型为key-value 关系型数据库:以二维表 ...

  10. 在 Docker 搭建 Maven 私有库

    在 Docker 搭建 Maven 私有库 小引 If you are developing software without a repository manager you are likely ...