如何从一个图像中裁剪并使用PIL粘贴到另一个图像中?

问题描述 投票:9回答:2

[使用PIL,我试图从图像中复制一个矩形,然后将其粘贴到另一个图像中。这是我的代码:

import Image
ii = Image.open("ramza.png")
box = (70, 70, 30, 30)
region = ii.crop(box)
io = Image.open("template.png")
io.paste(region, box)
io.save("output.png")

我收到此错误:

ValueError:图像不匹配

你们中的任何人都知道解决方法吗?

python python-imaging-library paste crop
2个回答
15
投票
PIL裁剪框定义为像素坐标的四元组:

(left, upper, right, lower)

修复代码以获取30x30的裁剪:

box = (70, 70, 100, 100)

分解为组件:

x, y, w, h = (70, 70, 30, 30) box = (x, y, x + w, y + h)


3
投票
[对于将来的访问者:如果boxpaste参数包含float而不是int,则也会出现此错误。
© www.soinside.com 2019 - 2024. All rights reserved.