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内置的字符串处理函数整理
Jan 29 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
Apr 14 Python
python中的错误处理
Apr 10 Python
jupyter notebook 中输出pyecharts图实例
Apr 23 Python
TensorFlow索引与切片的实现方法
Nov 20 Python
Python3 集合set入门基础
Feb 10 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
Jun 02 Python
Python Flask框架实现简单加法工具过程解析
Jun 03 Python
python程序如何进行保存
Jul 03 Python
面向新手解析python Beautiful Soup基本用法
Jul 11 Python
详解Python 最短匹配模式
Jul 29 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
Aug 27 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
phpBB BBcode处理的漏洞
2006/10/09 PHP
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
深入浅出讲解:php的socket通信原理
2016/12/03 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
PHP接口类(interface)的定义、特点和应用示例
2020/05/18 PHP
Javascript 获取LI里的内容
2008/12/17 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
JavaScript计算某一天是星期几的方法
2015/08/05 Javascript
关于微信中a链接无法跳转问题
2016/08/02 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
nodejs基于express实现文件上传的方法
2018/03/19 NodeJs
angularjs http与后台交互的实现示例
2018/12/21 Javascript
layui lay-verify form表单自定义验证规则详解
2019/09/18 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
[02:38]DOTA2 夜魇暗潮2020活动介绍官方视频
2020/11/04 DOTA
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
Python Dataframe 指定多列去重、求差集的方法
2018/07/10 Python
浅谈Pandas:Series和DataFrame间的算术元素
2018/12/22 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
浅析python连接数据库的重要事项
2021/02/22 Python
css3中transition属性详解
2014/09/02 HTML / CSS
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
行政前台岗位职责
2013/12/04 职场文书
社区爱国卫生月活动总结
2014/06/30 职场文书
关于保护环境的建议书
2014/08/26 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
行风评议整改报告
2014/11/06 职场文书
2019初中学生入团申请书
2019/06/27 职场文书
24年收藏2000多部退役军用电台
2022/02/18 无线电