python实现多张图片拼接成大图


Posted in Python onJanuary 15, 2019

本文实例为大家分享了python实现多张图片拼接成大图的具体代码,供大家参考,具体内容如下

上次爬取了马蜂窝的游记图片,并解决了PIL模块的导入问题,现在直奔主题吧:

import PIL.Image as Image
import os
 
IMAGES_PATH = 'D:\Mafengwo\photo\五月坦桑的暖风,非洲原野的呼唤\\' # 图片集地址
IMAGES_FORMAT = ['.jpg', '.JPG'] # 图片格式
IMAGE_SIZE = 256 # 每张小图片的大小
IMAGE_ROW = 5 # 图片间隔,也就是合并成一张图后,一共有几行
IMAGE_COLUMN = 4 # 图片间隔,也就是合并成一张图后,一共有几列
IMAGE_SAVE_PATH = 'final.jpg' # 图片转换后的地址
 
# 获取图片集地址下的所有图片名称
image_names = [name for name in os.listdir(IMAGES_PATH) for item in IMAGES_FORMAT if
    os.path.splitext(name)[1] == item]
 
# 简单的对于参数的设定和实际图片集的大小进行数量判断
if len(image_names) != IMAGE_ROW * IMAGE_COLUMN:
 raise ValueError("合成图片的参数和要求的数量不能匹配!")
 
# 定义图像拼接函数
def image_compose():
 to_image = Image.new('RGB', (IMAGE_COLUMN * IMAGE_SIZE, IMAGE_ROW * IMAGE_SIZE)) #创建一个新图
 # 循环遍历,把每张图片按顺序粘贴到对应位置上
 for y in range(1, IMAGE_ROW + 1):
  for x in range(1, IMAGE_COLUMN + 1):
   from_image = Image.open(IMAGES_PATH + image_names[IMAGE_COLUMN * (y - 1) + x - 1]).resize(
    (IMAGE_SIZE, IMAGE_SIZE),Image.ANTIALIAS)
   to_image.paste(from_image, ((x - 1) * IMAGE_SIZE, (y - 1) * IMAGE_SIZE))
 return to_image.save(IMAGE_SAVE_PATH) # 保存新图
image_compose() #调用函数

前边设置了很多变量,都很直观,然后时获取图片的名称以及对需要拼接图片的数量进行检查,比如你要拼接5*5的大图,那就需要25张图片,最后是我们的主函数,依次遍历,主要还是利用了Image模块的强大功能,我们需要做的就是无缝对接。

效果如下:

python实现多张图片拼接成大图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 专题三 字符串的基础知识
Mar 19 Python
将Dataframe数据转化为ndarry数据的方法
Jun 28 Python
Python实现通过继承覆盖方法示例
Jul 02 Python
python 使用值来排序一个字典的方法
Nov 16 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
Oct 12 Python
解决Python3下map函数的显示问题
Dec 04 Python
TensorFlow自定义损失函数来预测商品销售量
Feb 05 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
Mar 23 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
Apr 26 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
Jun 14 Python
Python实现Excel自动分组合并单元格
Feb 22 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
Jan 15 #Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
Jan 15 #Python
Python数据可视化之画图
Jan 15 #Python
python实现在遍历列表时,直接对dict元素增加字段的方法
Jan 15 #Python
Python txt文件加入字典并查询的方法
Jan 15 #Python
Python XML转Json之XML2Dict的使用方法
Jan 15 #Python
python utc datetime转换为时间戳的方法
Jan 15 #Python
You might like
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
Linux操作系统安装LAMP环境
2015/06/26 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
javascript 鼠标滚轮事件
2009/04/09 Javascript
javascript 命名规则 变量命名规则
2010/02/25 Javascript
3Z版基于jquery的图片复选框(asp.net+jquery)
2010/04/12 Javascript
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
jQuery学习笔记之2个小技巧
2015/01/19 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
javascript this详细介绍
2016/09/19 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
jquery仿ps颜色拾取功能
2017/03/08 Javascript
webpack之devtool详解
2018/02/10 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
python下如何让web元素的生成更简单的分析
2008/07/17 Python
python进阶教程之模块(module)介绍
2014/08/30 Python
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
python编程嵌套函数实例代码
2018/02/11 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
amazeui树节点自动展开折叠面板并选中第一个树节点的实现
2020/08/24 HTML / CSS
八年级音乐教学反思
2014/01/09 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
做一个有道德的人活动实施方案
2014/08/23 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
入党转正介绍人意见
2015/06/03 职场文书
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL