【发布时间】:2018-05-30 16:18:47
【问题描述】:
我正在尝试使用 PIL paste() 函数。我也想戴上口罩,但一直收到此错误:
ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()
canvases[0].paste(mnist_images[i],
box=tuple(map(lambda p: int(round(p)), positions[i])), mask=mask)
代码无需掩码即可工作。掩码是一个 numpy 数组。我没有看到一个带有面具的例子,文档也不清楚。
https://pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.Image.paste
如果给定掩码,则此方法仅更新掩码指示的区域。您可以使用
"1"、"L"或"RGBA"图像(在后一种情况下,alpha 波段用作掩码)。如果掩码为 255,则原样复制给定图像。如果掩码为 0,则保留当前值。中间值会将两个图像混合在一起,包括它们的 Alpha 通道(如果有的话)。
我没有 RGBA,如何使用"1" 或"L"?
【问题讨论】:
-
“L”表示灰度(单通道)图像,“1”表示双层图像(即只有两个值)。有关图像模式的更多信息,请参阅Pillow concepts page。
标签: python numpy python-imaging-library