我有两张二进制的黑白图像(mode=1)在pillow中。我想创建一张相同大小的新图像,它只是两者的二进制加法。换句话说,我想对每个像素进行逻辑或运算。
我已经阅读了文档一段时间,但似乎无法完成这个看起来简单的任务。有什么想法吗?
我有两张二进制的黑白图像(mode=1)在pillow中。我想创建一张相同大小的新图像,它只是两者的二进制加法。换句话说,我想对每个像素进行逻辑或运算。
我已经阅读了文档一段时间,但似乎无法完成这个看起来简单的任务。有什么想法吗?
使用ImageChops.add()方法:
PIL.ImageChops.add(image1, image2, scale=1.0, offset=0)[source] 添加两个图像,将结果除以比例并加上偏移量。如果省略,则比例默认为1.0,偏移量为0.0。
out = ((image1 + image2) / scale + offset)
Return type: Image
这将让您创建一个复合图像,看起来像是两个图像之间的OR操作。
Image.tobytes()
检索它们的图像数据作为字节,或者将它们合并在一起,然后使用Image.frombytes()
从结果创建一个新的图像。通过多次调用getpixel()
和putpixel()
(或通过[x, y]
访问的PixelAccess
)来完成相同的操作的替代方法可能太慢而不实用。 - martineau