gpt4 book ai didi

Python 图像库 : How to combine 4 images into a 2 x 2 grid?

转载 作者:IT老高 更新时间:2023-10-28 22:14:20 26 4
gpt4 key购买 nike

我有 4 个目录,其中包含用于动画的图像。我想获取一组图像并生成一个图像,其中 4 个图像排列成一个 2x2 网格,用于动画的每一帧。

到目前为止我的代码是:

import Image

fluid64 = "Fluid64_half_size/00"
fluid128 = "Fluid128_half_size/00"
fluid512 = "Fluid512_half_size/00"
fluid1024 = "Fluid1024_half_size/00"

out_image = "Fluid_all/00"

for pic in range(1, 26):
blank_image = Image.open("blank.jpg")

if pic < 10:
image_num = "0"+str(pic)
else:
image_num = str(pic)

image64 = Image.open(fluid64+image_num+".jpg")
image128 = Image.open(fluid128+image_num+".jpg")
image512 = Image.open(fluid512+image_num+".jpg")
image1024 = Image.open(fluid1024+image_num+".jpg")
out = out_image + image_num + ".jpg"

blank_image.paste(image64, (0,0)).paste(fluid128, (400,0)).paste(fluid512, (0,300)).paste(fluid1024, (400,300)).save(out)

不知道为什么它不起作用。我收到了错误:

Traceback (most recent call last):
File "C:\Users\Casey\Desktop\Image_composite.py", line 24, in <module>
blank_image.paste(image64, (0,0)).paste(fluid128, (400,0)).paste(fluid512, (
ste(fluid1024, (400,300)).save(out)
AttributeError: 'NoneType' object has no attribute 'paste'
shell returned 1

任何帮助都会很棒。谢谢!

最佳答案

唯一的问题是“粘贴”不会返回图像对象 - 而是在原地修改“空白”图像。

因此,当调用第二个粘贴(使用 fuild128 图像的那个)时,它会尝试应用于“无” - 这是第一个图像的返回值。

如果这是您遇到的唯一问题,只需每行进行一次粘贴调用,如下所示:

blank_image.paste(image64, (0,0))
blank_image.paste(fluid128, (400,0))
blank_image.paste(fluid512, (0,300))
blank_image.paste(fluid1024, (400,300))
blank_image.save(out)

虽然看起来您可能需要缩放每个图像,以便它们的格式也匹配。而且您的“image_num”变量代码是不必要的。 Python 非常擅长处理字符串 - 只需执行以下操作:

image64 = Image.open(fluid64 + "%02d.jpg" % pic)

关于Python 图像库 : How to combine 4 images into a 2 x 2 grid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4567409/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com