本⽂实例为⼤家分享了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 = w('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(
cng撬装加气站
(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模块的强⼤功能,我们需要做的就是⽆缝对接。
效果如下:
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。