PIL ValueError:图像与

时间:2018-05-11 21:08:05

标签: python image python-imaging-library valueerror

我用PIL在python中乱搞,我正在研究一个在4个象限中镜像和成像的功能。显然我遇到了一个错误,我似乎无法弄明白。我的功能如下:

def mirror_four(image):
x = image.size[0]
y = image.size[1]

temp = Image.new("RGB", (image.size[0], image.size[1]), "black")

tl = image
tr = mirror_left(image)
bl = mirror_verticle(image)
br = mirror_verticle(tr)

image.paste(temp,(0,0,int(x/2),int(y/2)),tl)
image.paste(temp,(int(x/2),0,0,int(y/2)),tr)
image.paste(temp,(0,int(y/2),int(x/2),0),bl)
image.paste(temp,(x/2,y/2,x,y),br)

return temp

返回错误:ValueError:图像不匹配

我有点失落,PIL文档对我没什么帮助。在此先感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

以您的第一条粘贴线为例-为“ paste”的“ box”参数指定了(0,0,int(x / 2),int(y / 2)-大小的一半图片,但是,尝试粘贴的图片与框的大小不匹配。将“框”参数更改为(0,0,int(x),int(y))将解决您的直接问题,尽管我怀疑您实际上想裁剪要粘贴的图像。

我还要注意,如果您不想--(0,0),因为x和y也可以使用,则不必提供粘贴图像的大小。

答案 1 :(得分:0)

您为box提供的参数错误。 应该是image.paste(the_second_image, (x, y, x+w, y+h) 不要更改最后两个参数。您可以做的是w, h = the_second_image.size() image.paste(the_second_image, (x, y, x+w, y+h) 这会工作,对我有用。