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爬虫之cookie使用方法
Feb 17 Python
python 不以科学计数法输出的方法
Jul 16 Python
python使用xlrd和xlwt读写Excel文件的实例代码
Sep 05 Python
python3爬虫怎样构建请求header
Dec 23 Python
对python中Json与object转化的方法详解
Dec 31 Python
python调用matlab的m自定义函数方法
Feb 18 Python
python实现opencv+scoket网络实时图传
Mar 20 Python
Python爬虫爬取、解析数据操作示例
Mar 27 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
Sep 09 Python
python如何对链表操作
Oct 10 Python
Python图片检索之以图搜图
May 31 Python
Python可视化神器pyecharts绘制地理图表
Jul 07 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
其他功能
2006/10/09 PHP
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
PHP+MYSQL中文乱码问题
2015/07/01 PHP
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
Jquery AJAX 用于计算点击率(统计)
2010/06/30 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
2011/07/10 Javascript
jQuery验证Checkbox是否选中的代码 推荐
2011/09/04 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
基于jQuery实现自动轮播旋转木马特效
2015/11/02 Javascript
javascript流程控制语句集合
2017/09/18 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
原生js实现移动端Touch轮播图的方法步骤
2019/01/03 Javascript
javascript实现自由编辑图片代码详解
2019/06/21 Javascript
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
Python在线运行代码助手
2016/07/15 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
python 分离文件名和路径以及分离文件名和后缀的方法
2018/10/21 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
详解django实现自定义manage命令的扩展
2019/08/13 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
python 录制系统声音的示例
2020/12/21 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
优秀学生自我鉴定范例
2013/12/18 职场文书
技校毕业生自荐信范文
2014/03/07 职场文书
导师工作推荐信范文
2014/05/17 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android
SQLServer中exists和except用法介绍
2021/12/04 SQL Server
SQLServer RANK() 排名函数的使用
2022/03/23 SQL Server
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js
如何使用python包中的sched事件调度器
2022/04/30 Python