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中关键字nonlocal和global的声明与解析
Mar 12 Python
Python 操作MySQL详解及实例
Apr 30 Python
OpenCV-Python实现轮廓检测实例分析
Jan 05 Python
Python实现七彩蟒蛇绘制实例代码
Jan 16 Python
python过滤中英文标点符号的实例代码
Jul 15 Python
django框架模板语言使用方法详解
Jul 18 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
Aug 27 Python
Python使用Pandas读写Excel实例解析
Nov 19 Python
python numpy--数组的组合和分割实例
Feb 24 Python
tensorflow实现将ckpt转pb文件的方法
Apr 22 Python
python 写一个性能测试工具(一)
Oct 24 Python
python实现定时发送邮件到指定邮箱
Dec 23 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
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
jQuery 源码分析笔记
2011/05/25 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
2013/12/20 PHP
php遍历CSV类实例
2015/04/14 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
2015/04/15 PHP
实例讲解PHP表单
2020/06/10 PHP
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
JavaScript中按位“异或”运算符使用介绍
2014/03/14 Javascript
Node调试工具JSHint的安装及配置教程
2014/05/27 Javascript
两种方法解决javascript url post 特殊字符转义 + & #
2016/04/13 Javascript
JS功能代码集锦
2016/05/04 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
JS打印组合功能
2016/08/04 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
angular+webpack2实战例子
2017/05/23 Javascript
Vue.js学习笔记之常用模板语法详解
2017/07/25 Javascript
js禁止表单重复提交
2017/08/29 Javascript
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python 过滤字符串的技巧,map与itertools.imap
2008/09/06 Python
python中实现定制类的特殊方法总结
2014/09/28 Python
Python中动态创建类实例的方法
2017/03/24 Python
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
python3中pip3安装出错,找不到SSL的解决方式
2019/12/12 Python
仓库管理专业个人自我评价范文
2013/11/11 职场文书
服务员自我评价
2014/01/25 职场文书
幼儿园元旦活动感言
2014/03/02 职场文书
投资意向书范本
2014/04/01 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
反四风对照检查材料
2014/09/22 职场文书
先进班组事迹材料
2014/12/25 职场文书
2016寒假社会实践心得体会范文
2015/10/09 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers
golang中字符串MD5生成方式总结
2021/07/04 Golang
关于nginx 实现jira反向代理的问题
2021/09/25 Servers