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实现的简单万年历例子分享
Apr 25 Python
wxPython框架类和面板类的使用实例
Sep 28 Python
Scrapy-redis爬虫分布式爬取的分析和实现
Feb 07 Python
python监控linux内存并写入mongodb(推荐)
Sep 11 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 Python
python可视化篇之流式数据监控的实现
Aug 07 Python
使用python实现回文数的四种方法小结
Nov 24 Python
python 定义类时,实现内部方法的互相调用
Dec 25 Python
PyCharm 无法 import pandas 程序卡住的解决方式
Mar 09 Python
django model object序列化实例
Mar 13 Python
python 绘制国旗的示例
Sep 27 Python
python实现语音常用度量方法的代码详解
May 25 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 方便水印和缩略图的图形类
2009/05/21 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
JS删除字符串中重复字符方法
2014/03/09 Javascript
jquery判断元素是否隐藏的多种方法
2014/05/06 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
AngularJS模块详解及示例代码
2016/08/17 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
JavaScript中Array对象用法实例总结
2016/11/29 Javascript
js中开关变量使用实例
2017/02/24 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
使用Node.js搭建静态资源服务详细教程
2017/08/02 Javascript
jQuery中的for循环var与let的区别
2018/04/21 jQuery
python 多线程对post请求服务器测试并发的方法
2019/06/13 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
python找出因数与质因数的方法
2019/07/25 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
python实现126邮箱发送邮件
2020/05/20 Python
Spy++的使用方法及下载教程
2021/01/29 Python
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
村官工作鉴定评语
2014/01/27 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
就业协议书怎么填
2014/09/15 职场文书
中学生检讨书范文
2014/11/03 职场文书
爱的教育读书笔记
2015/06/26 职场文书
导游词之安徽醉翁亭
2020/01/10 职场文书
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android
golang为什么要统一错误处理
2022/04/03 Golang