python实现多张图片拼接成大图
作者:beyond_LH 时间:2021-11-19 08:36:53
本文实例为大家分享了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模块的强大功能,我们需要做的就是无缝对接。
效果如下:
来源:https://blog.csdn.net/beyond9305/article/details/83413009
标签:python,图片拼接
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
使用Javascript实现选择下拉菜单互移并排序
2023-09-07 18:14:45
![](https://img.aspxhome.com/file/2023/2/56302_0s.png)
T-SQL问题解决集锦 数据加解密全集
2012-07-11 15:34:08
网页模式化窗口
2008-04-27 20:52:00
![](/images/sg_trans.gif)
ASP自动清除ACCESS数据库的日文字符
2007-11-28 17:40:00
python asyncio 协程库的使用
2022-09-13 13:28:16
CSS3中的box-sizing属性
2010-04-05 21:52:00
![](https://img.aspxhome.com/file/UploadPic/20104/5/20090424070002186-44s.png)
pandas分组聚合详解
2023-06-28 15:50:25
微信小程序搭建及解决登录失败问题
2023-06-28 09:51:49
![](https://img.aspxhome.com/file/2023/3/58253_0s.jpg)
PHP加密函数 Javascript/Js 解密函数
2023-06-15 18:03:03
15个滑动门效果CSS导航菜单实例教程
2010-02-20 13:02:00
![](https://img.aspxhome.com/file/UploadPic/20102/20/150916p3l-29s.png)
javascript二维数组转置实例
2023-08-25 07:11:14
python utc datetime转换为时间戳的方法
2021-11-18 07:11:44
Python产生batch数据的操作
2022-11-22 16:00:59
Python发送http请求解析返回json的实例
2022-04-11 03:38:28
python实现清屏的方法
2021-11-02 04:10:32
SQL Server 2000 作数据库服务器的优点
2009-01-23 13:47:00
python格式的Caffe图片数据均值计算学习
2022-10-28 07:44:19
仿淘宝首页商品分类列表效果
2009-01-22 13:39:00
python列表逆序排列的4种方法
2022-09-19 18:26:21
Appium+Python自动化测试之运行App程序示例
2023-07-29 01:54:20
![](https://img.aspxhome.com/file/2023/6/60986_0s.jpg)