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 11 Python
Python多进程机制实例详解
Jul 02 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
Apr 23 Python
Python多重继承的方法解析执行顺序实例分析
May 26 Python
Python3标准库之dbm UNIX键-值数据库问题
Mar 24 Python
python实现3D地图可视化
Mar 25 Python
Python HTTP下载文件并显示下载进度条功能的实现
Apr 02 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
Nov 24 Python
Pytorch 实现变量类型转换
May 17 Python
浅析Django接口版本控制
Jun 26 Python
pytorch中的torch.nn.Conv2d()函数图文详解
Feb 28 Python
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
Apr 21 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
ajax+php打造进度条 readyState各状态
2010/03/20 PHP
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
2014/11/14 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
PHP简单实现正则匹配省市区的方法
2018/04/13 PHP
jquery form表单提交插件asp.net后台中文解码
2010/06/12 Javascript
javascript中判断一个值是否在数组中并没有直接使用
2012/12/17 Javascript
js淡入淡出的图片轮播效果代码分享
2015/08/24 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
AngularJS基础 ng-copy 指令实例代码
2016/08/01 Javascript
JavaScript实现滑动导航栏效果
2017/08/30 Javascript
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
javascript实现弹出层效果
2019/12/10 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
Keras 中Leaky ReLU等高级激活函数的用法
2020/07/05 Python
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
2016/02/28 HTML / CSS
JD Sports瑞典:英国领先的运动时尚商店
2018/01/28 全球购物
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
瑞典轮胎在线:Tirendo.se
2018/06/21 全球购物
Quiksilver美国官网:始于1969年的优质冲浪服和滑雪板外套
2020/04/20 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
《猫》教学反思
2014/02/26 职场文书
会计专业毕业生自荐书
2014/06/25 职场文书
校车安全责任书
2014/08/25 职场文书
改革共识倡议书
2014/08/29 职场文书
校园音乐节目广播稿
2015/08/19 职场文书