python实现两张图片横向和纵向拼接
本文实例为大家分享了python实现图片横向和纵向拼接的具体代码,这里主要用Python扩展库pillow中Image对象的paste()方法把两张图片拼接起来供大家参考,具体内容如下:
一、代码:
from PIL import Image
def join(png1, png2, flag='horizontal'):
"""
:param png1: path
:param png2: path
:param flag: horizontal or vertical
:return:
"""
img1, img2 = Image.open(png1), Image.open(png2)
# 统一图片尺寸,可以自定义设置(宽,高)
img1 = img1.resize((1500, 1000), Image.ANTIALIAS)
img2 = img2.resize((1500, 1000), Image.ANTIALIAS)
size1, size2 = img1.size, img2.size
if flag == 'horizontal':
joint = Image.new('RGB', (size1 + size2, size1))
loc1, loc2 = (0, 0), (size1, 0)
joint.paste(img1, loc1)
joint.paste(img2, loc2)
joint.save('horizontal.png')
elif flag == 'vertical':
joint = Image.new('RGB', (size1, size1 + size2))
loc1, loc2 = (0, 0), (0, size1)
joint.paste(img1, loc1)
joint.paste(img2, loc2)
joint.save('vertical.png')
if __name__ == '__main__':
# 两张图片地址:
png1 = r"C:\Desktop\img\15.jpg"
png2 = r"C:\Desktop\img\01.jpg"
# 横向拼接
join(png1, png2, flag='horizontal')
# 纵向拼接
# join(png1, png2, flag='vertical')
谢谢分享! 不错,谢谢!学习 感谢分享,学习中。 学习了。谢谢分享 有个软件PicMerger也挺好用的 from PIL import Image
# 打开图片文件
image1 = Image.open("image1.jpg")
image2 = Image.open("image2.jpg")
# 获取图片的宽度和高度
width1, height1 = image1.size
width2, height2 = image2.size
# 创建一个新图片,宽度为两张图片宽度之和,高度为两张图片高度的最大值
result = Image.new("RGB", (width1 + width2, max(height1, height2)))
# 将两张图片横向拼接在一起
result.paste(image1, (0, 0))
result.paste(image2, (width1, 0))
# 保存拼接后的图片
result.save("result.jpg")
页:
[1]