【发布时间】:2011-12-21 08:36:30
【问题描述】:
我正在尝试使用 PIL 的“点”方法将图像转换为二值图像(bilevel),如下所示:
def mappoint (i):
if i > 1: return 1
else: return 0
if __name__=="__main__":
img = Image.open('no.tif')
img = img.point(mappoint)
img.save('ok.tif')
但它给了我一个黑色的图像!
编辑:如果我做 def mappoint (i): if i > 1: return 255 那么它会给出一个全白的图像!如果我在 mappoint 中打印 i 的值,它会显示从 0 到 255 的值(就像打印 range(256) 一样),所以每个 i 都不是每个像素的值,是吗?当我们打开图像时,还有另一种方法可以通过使用 convert 来制作双层:img = Image.open(img_name).convert('1') 但默认情况下使用的阈值是 127,如果我们想要另一个阈值,文档说使用点方法
【问题讨论】:
标签: python image python-imaging-library