python实现图像拼接功能


Posted in Python onMarch 23, 2020

利用Python将Market1501的分割图片和原图两张图片进行拼接成一左一右一张图片,并将图片的像素值调整成256*128.
所有文件夹:

python实现图像拼接功能

文件夹下的所有原图: 

python实现图像拼接功能

文件夹下的所有的分割图片:

python实现图像拼接功能

代码如下:

import PIL.Image as Image
import os
 
IMAGES_PATH = 'E:/gyx/Learning/Practice/4/data/market1501_seg_1/test/ori_img/' # 原图片集地址
IMAGES_PATH_1 = 'E:/gyx/Learning/Practice/4/data/market1501_seg_1/test/seg_img/' #分割图片集地址
IMAGE_SAVE_PATH = 'E:/gyx/Learning/Practice/4/data/market1501_seg_1/test/new/' #保存新图片地址
IMAGES_FORMAT = ['.jpg', '.JPG'] # 图片格式
list_n = []
w = 256 # 每张小图片的大小
h = 128
 
# 获取图片集地址下的所有图片名称
image_names = [name for name in os.listdir(IMAGES_PATH) for item in IMAGES_FORMAT if
 os.path.splitext(name)[1] == item]
 
image_names_1 = [name for name in os.listdir(IMAGES_PATH_1) for item in IMAGES_FORMAT if
 os.path.splitext(name)[1] == item]
 
# 定义图像拼接函数
def image_compose(imag,imag_1):
 src = os.path.join(os.path.abspath(IMAGE_SAVE_PATH), img)
 to_image = Image.new('RGB', (2 * h, 1 * w)) # 创建一个新图
 # 把两张图片按顺序粘贴到对应位置上
 rom_image = Image.open(IMAGES_PATH + imag).resize((h,w), Image.ANTIALIAS)
 rom_image_1 = Image.open(IMAGES_PATH_1 + imag_1).resize((h, w), Image.ANTIALIAS)
 to_image.paste(rom_image,(0,0))
 to_image.paste(rom_image_1,(h,0))
 to_image.save(src) # 保存新图,还是原来的名称
 
#文件名相同就调用拼接函数
for img in image_names:
 for img_1 in image_names_1:
 if img == img_1:
 image_compose(img,img_1)

单独图片的拼接效果:

python实现图像拼接功能

新文件夹new下图片的效果:

python实现图像拼接功能

本文已被收录到专题《python图片处理操作》 ,欢迎大家点击学习更多精彩内容。

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

Python 相关文章推荐
Python 解析XML文件
Apr 15 Python
状态机的概念和在Python下使用状态机的教程
Apr 11 Python
python中的字典使用分享
Jul 31 Python
python机器学习实战之树回归详解
Dec 20 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
Jan 08 Python
利用pyinstaller将py文件打包为exe的方法
May 14 Python
python2.7和NLTK安装详细教程
Sep 19 Python
Python弹出输入框并获取输入值的实例
Jun 18 Python
安装好Pycharm后如何配置Python解释器简易教程
Jun 28 Python
python matplotlib拟合直线的实现
Nov 19 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
Nov 29 Python
Python xlwings插入Excel图片的实现方法
Feb 26 Python
Python猴子补丁Monkey Patch用法实例解析
Mar 23 #Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
Mar 23 #Python
Python3 pickle对象串行化代码实例解析
Mar 23 #Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
Mar 23 #Python
Python3 shelve对象持久存储原理详解
Mar 23 #Python
python新式类和经典类的区别实例分析
Mar 23 #Python
Python count函数使用方法实例解析
Mar 23 #Python
You might like
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
详解PHP数据压缩、加解密(pack, unpack)
2016/12/17 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
Jquery 基础学习笔记
2009/05/29 Javascript
javascript 写类方式之九
2009/07/05 Javascript
jquery-easyui关闭tab自动切换到前一个tab
2010/07/29 Javascript
获取表单控件原始(初始)值的方法
2013/08/21 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
Jquery获取元素的父容器对象示例代码
2014/02/10 Javascript
JavaScript判断用户是否对表单进行了修改的方法
2015/03/18 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
webpack external模块的具体使用
2018/03/10 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
2019/10/26 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
详细解读Python中解析XML数据的方法
2015/10/15 Python
Python单元和文档测试实例详解
2019/04/11 Python
浅谈Django中view对数据库的调用方法
2019/07/18 Python
Django的Modelforms用法简介
2019/07/27 Python
python实现计算器功能
2019/10/31 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
J2EE模式面试题
2016/10/11 面试题
财务经理岗位职责
2013/11/09 职场文书
简单而又朴实的个人求职信分享
2013/12/12 职场文书
助人为乐表扬信范文
2014/01/14 职场文书
《永远的白衣战士》教学反思
2014/04/25 职场文书
企业宣传口号
2014/06/12 职场文书
投资意向书
2014/07/30 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
出国留学单位推荐信
2015/03/26 职场文书
MySQL为id选择合适的数据类型
2021/06/07 MySQL
详解CSS3.0(Cascading Style Sheet) 层叠级联样式表
2021/07/16 HTML / CSS