我试着把一个图像放在另一个图像上,即如果两个图像绿苹果.png以及红颜色.png图像就在我身边,现在我想把它放大红颜色.png到绿苹果.png所以图像绿苹果.png会被掩盖红颜色.png只在那个地方希腊苹果.png剩下的就走了。 我试过用ImageChops来做,代码是
import Image
import bakepass
from PIL import ImageChops
im1 = Image.open("greenapple.png")
im2 = Image.open("redcolor.png")
image = Image.open("new.png")
image.save(ImageChops.multiply(im1,im2))
但是使用上面的代码我得到了值错误:图像不匹配 我用的是同样大小的512X512文件 请帮帮我
这可能就是你要找的:changing hue
但如果您出于某种原因不想使用numpy,您可以使用composite和alpha通道(下面将alpha值放在整个图像上,您可以通过img1的绿色/红色来计算在哪里更改img2的alpha):
下面是我在上面的测试中使用的两张图片(可能有点大),第三张图片是上面代码的结果:
在苹果.png在
在绿色.png在
在输出.png在
还有PIL的
^{pr2}$paste()
函数:使用
img.split()
来处理red, green, blue, alpha
,并在决定将覆盖层放在哪里时使用绿色/红色色块。在以下是一些经过计算的备选方案,例如可以使用黑色作为排除颜色:
相关问题 更多 >
编程相关推荐