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计算字符宽度的方法
Jun 14 Python
Python实现登陆文件验证方法
Oct 06 Python
PyGame贪吃蛇的实现代码示例
Nov 21 Python
Django forms表单 select下拉框的传值实例
Jul 19 Python
Django 创建/删除用户的示例代码
Jul 24 Python
Python操作redis和mongoDB的方法
Dec 19 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
Mar 12 Python
Python预测2020高考分数和录取情况
Jul 08 Python
Matlab中plot基本用法的具体使用
Jul 17 Python
Python偏函数实现原理及应用
Nov 20 Python
解决hive中导入text文件遇到的坑
Apr 07 Python
Python几种酷炫的进度条的方式
Apr 11 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垃圾回收机制对内存泄露的处理
2013/06/14 PHP
php遍历删除整个目录及文件的方法
2015/03/13 PHP
PHP可变函数学习小结
2015/11/29 PHP
php验证身份证号码正确性的函数
2016/07/20 PHP
PHP查询大量数据内存耗尽问题的解决方法
2016/10/28 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
JavaScript 对象的属性和方法4种不同的类型
2010/03/19 Javascript
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
es7学习教程之Decorators(修饰器)详解
2017/07/21 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
2019/05/08 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
Vue中避免滥用this去读取data中数据
2021/03/02 Vue.js
Python实现Singleton模式的方式详解
2019/08/08 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
Python APScheduler执行使用方法详解
2020/12/10 Python
浅析HTML5:'data-'属性的作用
2018/01/23 HTML / CSS
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
Python的两道面试题
2013/06/29 面试题
学习交流会主持词
2014/04/01 职场文书
财务担保书范文
2014/04/02 职场文书
学校募捐倡议书
2014/05/14 职场文书
银行职员工作失误检讨书
2014/10/14 职场文书
教师批评与自我批评
2014/10/15 职场文书
市委常委会班子党的群众路线教育实践活动整改方案
2014/10/25 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
导游词之湖北武当山
2019/09/23 职场文书
nginx实现动静分离的方法示例
2021/11/07 Servers
python中的random模块和相关函数详解
2022/04/22 Python