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模拟登录百度代码分享(获取百度贴吧等级)
Dec 27 Python
python进阶教程之动态类型详解
Aug 30 Python
python回调函数中使用多线程的方法
Dec 25 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
May 30 Python
Python判断中文字符串是否相等的实例
Jul 06 Python
python 3.7.0 安装配置方法图文教程
Aug 27 Python
Python Pexpect库的简单使用方法
Jan 29 Python
Python 把序列转换为元组的函数tuple方法
Jun 27 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
Jul 15 Python
Ranorex通过Python将报告发送到邮箱的方法
Jan 12 Python
Python单元测试及unittest框架用法实例解析
Jul 09 Python
用python开发一款操作MySQL的小工具
May 12 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
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
在 Laravel 中动态隐藏 API 字段的方法
2019/10/25 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
THINKPHP5分页数据对象处理过程解析
2020/10/28 PHP
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
2014/04/07 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
纯js实现手风琴效果代码
2020/04/17 Javascript
Bootstarp 基础教程之表单部分实例代码
2017/02/03 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
2017/06/21 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
js实现音乐播放控制条
2017/09/09 Javascript
iframe高度自适应及隐藏滚动条的实例详解
2017/09/29 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
关于layui时间回显问题的解决方法
2019/09/24 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
如何用itertools解决无序排列组合的问题
2017/05/18 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
详解Python self 参数
2019/08/30 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
python中scipy.stats产生随机数实例讲解
2021/02/19 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
委托函范文
2015/01/29 职场文书
财务工作个人总结
2015/02/27 职场文书
小学国庆节活动总结
2015/03/23 职场文书
vue特效之翻牌动画
2022/04/20 Vue.js
PHP RabbitMQ消息列队
2022/05/11 PHP
CSS 实现磨砂玻璃(毛玻璃)效果样式
2023/05/21 HTML / CSS