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实现2048小游戏
Mar 30 Python
Python求算数平方根和约数的方法汇总
Mar 09 Python
Python实现代码统计工具(终极篇)
Jul 04 Python
python中安装模块包版本冲突问题的解决
May 02 Python
python数据处理实战(必看篇)
Jun 11 Python
Python OpenCV获取视频的方法
Feb 28 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
Mar 29 Python
Django数据库类库MySQLdb使用详解
Apr 28 Python
解决pyqt5中QToolButton无法使用的问题
Jun 21 Python
python实现逆滤波与维纳滤波示例
Feb 26 Python
Python 如何定义匿名或内联函数
Aug 01 Python
python使用matplotlib:subplot绘制多个子图的示例
Sep 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
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
php使用ffmpeg获取视频信息并截图的实现方法
2016/05/03 PHP
神奇的7个jQuery 3D插件整理
2011/01/06 Javascript
在jQuery1.5中使用deferred对象 着放大镜看Promise
2011/03/12 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
jquery validate demo 基础
2015/10/29 Javascript
基于JavaScript怎么实现让歌词滚动播放
2015/11/03 Javascript
微信小程序 弹窗自定义实例代码
2017/03/08 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
微信小程序显示下拉列表功能【附源码下载】
2017/12/12 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
vue使用高德地图根据坐标定位点的实现代码
2019/08/22 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
浏览器JavaScript调试功能无法使用解决方案
2020/09/18 Javascript
[39:08]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第一场 12.12
2020/12/16 DOTA
利用Python脚本实现ping百度和google的方法
2017/01/24 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
Django实现微信小程序的登录验证功能并维护登录态
2019/07/04 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
暇步士官网:Hush Puppies
2016/09/22 全球购物
酒店执行总经理岗位职责
2013/12/15 职场文书
时尚女魔头观后感
2015/06/04 职场文书
董事会决议范本
2015/07/01 职场文书
公司安全管理制度范本
2015/08/05 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL
Golang流模式之grpc的四种数据流
2022/04/13 Golang
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android