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 相关文章推荐
Python3 能振兴 Python的原因分析
Nov 28 Python
Python编程中装饰器的使用示例解析
Jun 20 Python
Python的string模块中的Template类字符串模板用法
Jun 27 Python
python批量添加zabbix Screens的两个脚本分享
Jan 16 Python
Python语言描述机器学习之Logistic回归算法
Dec 21 Python
用python处理MS Word的实例讲解
May 08 Python
python 实现UTC时间加减的方法
Dec 31 Python
使用TensorFlow实现二分类的方法示例
Feb 05 Python
Django框架验证码用法实例分析
May 10 Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 Python
将自己的数据集制作成TFRecord格式教程
Feb 17 Python
Python 语言实现六大查找算法
Jun 30 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
PHP集成FCK的函数代码
2008/09/27 PHP
php自定义时间转换函数示例
2016/12/07 PHP
php的laravel框架快速集成微信登录的方法
2016/12/12 PHP
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
Prototype Object对象 学习
2009/07/12 Javascript
JS DOM 操作实现代码
2010/08/01 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
js中的DOM模拟购物车功能
2017/03/22 Javascript
JavaScript中EventLoop介绍
2018/01/22 Javascript
vue translate peoject实现在线翻译功能【新手必看】
2018/06/07 Javascript
前端路由&webpack基础配置详解
2019/06/10 Javascript
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
python中使用urllib2获取http请求状态码的代码例子
2014/07/07 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
Python列表删除的三种方法代码分享
2017/10/31 Python
python lambda函数及三个常用的高阶函数
2020/02/05 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
eBay德国站:eBay.de
2017/09/14 全球购物
波兰化妆品和护肤品购物网站:eKobieca
2019/08/30 全球购物
Android面试题附答案
2014/12/08 面试题
八项规定整改方案
2014/02/21 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
干部个人对照检查材料
2014/08/25 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
《童年》读后感(三篇)
2019/08/27 职场文书
php7中停止php-fpm服务的方法详解
2021/05/09 PHP
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
2022/03/16 Redis
MongoDB修改oplog大小的四种方法
2022/04/11 MongoDB