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中的__SLOTS__属性使用示例
Feb 18 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
Python subprocess模块功能与常见用法实例详解
Jun 28 Python
python之PyQt按钮右键菜单功能的实现代码
Aug 17 Python
pytorch中tensor张量数据类型的转化方式
Dec 31 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
Jan 16 Python
Tensorflow实现部分参数梯度更新操作
Jan 23 Python
导致python中import错误的原因是什么
Jul 01 Python
python实现磁盘日志清理的示例
Nov 05 Python
Django drf请求模块源码解析
Jun 08 Python
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
Jun 08 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
Apr 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 多关键字 高亮显示实现代码
2012/04/23 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
图片完美缩放
2006/09/07 Javascript
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
js跨域问题之跨域iframe自适应大小实现代码
2010/07/17 Javascript
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
JavaScript学习笔记之Cookie对象
2015/01/22 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
el-select数据过多懒加载的解决(loadmore)
2019/05/29 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
关于引入vue.js 文件的知识点总结
2020/01/28 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
一道python走迷宫算法题
2018/01/22 Python
python 信息同时输出到控制台与文件的实例讲解
2018/05/11 Python
Python 爬取携程所有机票的实例代码
2018/06/11 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
在python shell中运行python文件的实现
2019/12/21 Python
Python环境下安装PyGame和PyOpenGL的方法
2020/03/25 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
售后服务经理岗位职责范本
2014/02/22 职场文书
2014年五四青年节演讲稿范文
2014/04/22 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
房屋认购协议书
2015/01/29 职场文书