小编use*_*495的帖子

如何有效地改变大量图像的颜色?

我有一个巨大的图像数据集,如下所示:

图片

我想改变这些的颜色。所有白色应保持白色,所有紫色应变为白色,其他所有内容应变为黑色。所需的输出如下所示:

输出图像

我已经在下面编写了代码,它正在执行我想要的操作,但是需要很长时间才能浏览我拥有的大量图片。还有另一种更快的方法吗?

path = r"C:path"
for f in os.listdir(path):
f_name = (os.path.join(path,f))
if f_name.endswith(".png"):
    im = Image.open(f_name)
    fn, fext = os.path.splitext(f_name)
    print (fn)
    im =im.convert("RGBA")
    for x in range(im.size[0]):
        for y in range(im.size[1]):
            if im.getpixel((x, y)) == (255, 255, 255, 255):
                im.putpixel((x, y),(255, 255, 255,255))
            elif im.getpixel((x, y)) == (128, 64, 128, 255):
                im.putpixel((x, y),(255, 255, 255,255))
            else:
                im.putpixel((x, y),(0, 0, 0,255))

    im.show()
Run Code Online (Sandbox Code Playgroud)

python image colors image-processing python-imaging-library

1
推荐指数
1
解决办法
601
查看次数