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入门教程
Feb 08 Python
python切换hosts文件代码示例
Dec 31 Python
python实现通过代理服务器访问远程url的方法
Apr 29 Python
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
May 02 Python
Linux中Python 环境软件包安装步骤
Mar 31 Python
python基础教程项目五之虚拟茶话会
Apr 02 Python
目前最全的python的就业方向
Jun 05 Python
python 对dataframe下面的值进行大规模赋值方法
Jun 09 Python
python实现爬取百度图片的方法示例
Jul 06 Python
django 做 migrate 时 表已存在的处理方法
Aug 31 Python
python 等差数列末项计算方式
May 03 Python
pycharm永久激活超详细教程
Oct 29 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中Collection 类的设计
2013/06/21 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
2019/10/12 PHP
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
Jquery中对数组的操作代码
2011/08/12 Javascript
js querySelector和getElementById通过id获取元素的区别
2012/04/20 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
javascript匀速动画和缓冲动画详解
2016/10/20 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
Vue中建立全局引用或者全局命令的方法
2017/08/21 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
实现elementUI表单的全局验证的方法步骤
2019/04/29 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
vue实现循环滚动列表
2020/06/30 Javascript
[02:57]2014DOTA2国际邀请赛-观众采访
2014/07/19 DOTA
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
Python使用MONGODB入门实例
2015/05/11 Python
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
压铸汽车模型收藏家:Diecastmodelswholesale.com
2016/12/21 全球购物
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
MUGLER官方网站:蒂埃里·穆勒香水
2019/11/26 全球购物
Orlebar Brown官网:设计师泳裤和泳装
2020/12/08 全球购物
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
2014年秋季开学典礼主持词
2014/08/02 职场文书
2014年电教工作总结
2014/12/19 职场文书
暂停营业通知
2015/04/25 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB