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实现socket端口重定向示例
Feb 10 Python
Python判断变量是否已经定义的方法
Aug 18 Python
Python中使用第三方库xlrd来读取Excel示例
Apr 05 Python
python实现根据ip地址反向查找主机名称的方法
Apr 29 Python
在Python中操作时间之mktime()方法的使用教程
May 22 Python
Python的装饰器模式与面向切面编程详解
Jun 21 Python
Python实现的科学计算器功能示例
Aug 04 Python
pytorch + visdom CNN处理自建图片数据集的方法
Jun 04 Python
使用python3 实现插入数据到mysql
Mar 02 Python
Python通过getattr函数获取对象的属性值
Oct 16 Python
关于python中导入文件到list的问题
Oct 31 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
Nov 24 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
一个PHP日历程序
2006/12/06 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
ajax在joomla中的原生态应用代码
2012/07/19 PHP
更改localhost为其他名字的方法
2014/02/10 PHP
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
PHP时间处理类操作示例
2018/09/05 PHP
改善用户体验的五款jQuery插件分享
2011/05/22 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
JS清除选择内容的方法
2015/01/29 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
JavaScript实现的一个倒计时的类
2015/03/12 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
2015/08/10 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
原生js的RSA和AES加密解密算法
2016/10/08 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
vue仿淘宝订单状态的tab切换效果
2020/06/23 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
2017/11/02 Javascript
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
微信小程序 MinUI组件库系列之badge徽章组件示例
2018/08/20 Javascript
javascript中的event loop事件循环详解
2018/12/14 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
2019/07/19 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
2020/10/24 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
Python生成随机密码
2015/03/10 Python
Python模块文件结构代码详解
2018/02/03 Python
Python tkinter label 更新方法
2018/10/11 Python
django页面跳转问题及注意事项
2019/07/18 Python
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
《1942》观后感
2015/06/08 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android