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查看多台服务器进程的脚本分享
Jun 11 Python
Python中解析JSON并同时进行自定义编码处理实例
Feb 08 Python
Python实现的远程登录windows系统功能示例
Jun 21 Python
python os.path模块常用方法实例详解
Sep 16 Python
对numpy中向量式三目运算符详解
Oct 31 Python
对python的输出和输出格式详解
Dec 08 Python
python实现数据分析与建模
Jul 11 Python
Python 使用 docopt 解析json参数文件过程讲解
Aug 13 Python
浅析Python requests 模块
Oct 09 Python
浅析python实现动态规划背包问题
Dec 31 Python
Python万能模板案例之matplotlib绘制甘特图
Apr 13 Python
Python时间操作之pytz模块使用详解
Jun 14 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
解决中英文字符串长度问题函数
2007/01/16 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
基于PHP文件操作的详解
2013/06/05 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
2014/04/29 Javascript
js中confirm实现执行操作前弹出确认框的方法
2014/11/01 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
js构建二叉树进行数值数组的去重与优化详解
2018/03/26 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
如何使用CSS3和JQuery easing 插件制作绚丽菜单
2019/06/18 jQuery
VUE+elementui组件在table-cell单元格中绘制微型echarts图
2020/04/20 Javascript
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
Python3按一定数据位数格式处理bin文件的方法
2019/01/24 Python
python 字典操作提取key,value的方法
2019/06/26 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
Python基于gevent实现文件字符串查找器
2020/08/11 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
中国跨镜手机配件批发在线商店:TVC-Mall
2019/08/20 全球购物
Shell编程面试题
2012/05/30 面试题
工程概预算专业毕业生求职信
2013/10/04 职场文书
初中作文评语大全
2014/04/23 职场文书
优秀管理者事迹材料
2014/05/22 职场文书
销售业务员岗位职责
2015/02/13 职场文书
2015年电教工作总结
2015/05/26 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
mysql 生成连续日期及变量赋值
2022/03/20 MySQL