将图像清理为只有黑色
我有一张图片。
我想逐个像素地查看这张图片,把任何不是黑色的像素都变成白色。我该怎么做呢?
(使用Python语言)。
谢谢!
3 个回答
1
你可能想看看下面这个库:
http://effbot.org/imagingbook/image.htm
特别是:
im.getpixel(xy) => value or tuple
还有
im.putpixel(xy, colour)
6
最有效的方法是使用点函数
def only_black(band):
if band > 0:
return 255
return 0
result = im.convert('L').point(only_black)
这是PIL文档中关于这个的说明:
当转换为二级图像(模式“1”)时,源图像首先会被转换为黑白图像。然后,值大于127的部分会被设置为白色,接着图像会进行抖动处理。如果想使用其他的阈值,可以使用点方法。
3
你应该使用 point
这个函数,它就是为了这个目的而存在的。
converter= ( (0,) + 255*(255,) ).__getitem__
def black_or_white(img):
return img.convert('L').point(converter)