我有一张照片。
我想逐个像素地查看该图像,并且任何非黑色的像素都应该变为白色。我该怎么做?
(Python)的
谢谢!
答案 0 :(得分:6)
最有效的方法是使用点函数
def only_black(band):
if band > 0:
return 255
return 0
result = im.convert('L').point(only_black)
这是PIL documentation对此所说的:
转换为双层图像时 (模式“1”),源图像是第一个 转换为黑白色。 结果值大于127 然后设置为白色,图像是 抖动。要使用其他阈值,请使用 点法。
答案 1 :(得分:3)
您应该使用point
函数,该函数专门用于此原因。
converter= ( (0,) + 255*(255,) ).__getitem__
def black_or_white(img):
return img.convert('L').point(converter)
答案 2 :(得分:1)
您可能需要查看以下库:
http://effbot.org/imagingbook/image.htm
特别是:
im.getpixel(xy) => value or tuple
和
im.putpixel(xy, colour)