gpt4 book ai didi

python - 将一个图像粘贴到另一个图像上

转载 作者:行者123 更新时间:2023-12-01 07:15:51 26 4
gpt4 key购买 nike

我正在尝试将 4 个尺寸为 422x223 的图像粘贴到 844x446 的图像中。我看到 img.paste 有 2 个参数:图像和框。

这是我尝试过的:

from PIL import Image
with Image.open(r"ALLPARTS.png") as end:
with Image.open(r"TOPLEFT.png") as img:
end.paste(img,(0,0))
with Image.open(r"BOTTOMLEFT.png") as img:
end.paste(img,(0,223,422,0))
with Image.open(r"BOTTOMRIGHT.png") as img:
end.paste(img,(422,223,0,0))
with Image.open(r"TOPRIGHT.png") as img:
end.paste(img,(422,0,0,223))
end.save(r"ALLPARTS.png")

对于TOPLEFT.png它确实有效,但对于其余的则无效。我收到错误:

self.im.paste(im, box)

ValueError: images do not match

我不明白为什么。我以为我理解“盒子”是如何工作的,但显然我没有。那么你能解释一下它是如何工作的吗?

最佳答案

该框是 (x0, y0, x1, y1),其中点 0 位于左上角,点 1 位于下角:

from PIL import Image
with Image.open(r"ALLPARTS.png") as end:
with Image.open(r"TOPLEFT.png") as img:
end.paste(img,(0,0))
with Image.open(r"BOTTOMLEFT.png") as img:
end.paste(img,(0,223,422,446))
with Image.open(r"BOTTOMRIGHT.png") as img:
end.paste(img,(422,223,844,446))
with Image.open(r"TOPRIGHT.png") as img:
end.paste(img,(422,0,422,223))
end.save(r"ALLPARTS.png")

或者使用提供的二元组(只是左上角点):

from PIL import Image
with Image.open(r"ALLPARTS.png") as end:
with Image.open(r"TOPLEFT.png") as img:
end.paste(img,(0,0))
with Image.open(r"BOTTOMLEFT.png") as img:
end.paste(img,(0,223))
with Image.open(r"BOTTOMRIGHT.png") as img:
end.paste(img,(422,223))
with Image.open(r"TOPRIGHT.png") as img:
end.paste(img,(422,0))
end.save(r"ALLPARTS.png")

关于python - 将一个图像粘贴到另一个图像上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57963279/

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