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命名空间详解
Aug 18 Python
Python socket C/S结构的聊天室应用实现
Nov 30 Python
探究Python中isalnum()方法的使用
May 18 Python
在Python的Django框架中编写错误提示页面
Jul 22 Python
在主机商的共享服务器上部署Django站点的方法
Jul 22 Python
使用Python脚本生成随机IP的简单方法
Jul 30 Python
Python即时网络爬虫项目启动说明详解
Feb 23 Python
Python txt文件加入字典并查询的方法
Jan 15 Python
详解基于python-django框架的支付宝支付案例
Sep 23 Python
win10系统下python3安装及pip换源和使用教程
Jan 06 Python
PyInstaller的安装和使用的详细步骤
Jun 02 Python
python3定位并识别图片验证码实现自动登录功能
Jan 29 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
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
js 数据类型转换总结笔记
2011/01/17 Javascript
jquery的键盘事件修改代码
2011/02/24 Javascript
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
Vue.js中的computed工作原理
2018/03/22 Javascript
React styled-components设置组件属性的方法
2018/08/07 Javascript
微信小程序云开发实现云数据库读写权限
2019/05/17 Javascript
vue+egg+jwt实现登录验证的示例代码
2019/05/18 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
2020/01/16 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
在Python的web框架中配置app的教程
2015/04/30 Python
python使用clear方法清除字典内全部数据实例
2015/07/11 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
2018/06/14 Python
python list格式数据excel导出方法
2018/10/31 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
UNIX文件名称有什么规定
2013/03/25 面试题
家长评语大全
2014/01/22 职场文书
3.12植树节活动总结2014
2014/03/13 职场文书
《月亮湾》教学反思
2014/04/14 职场文书
安全教育月活动总结
2014/05/05 职场文书
员工试用期工作总结
2019/06/20 职场文书
python实现简易名片管理系统
2021/04/11 Python