将灰度图像转换为bi

2024-05-05 02:19:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用PIL的“point”方法将图像转换为二值图像(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')

但它给了我一个黑色的形象!在

编辑:如果我定义mappoint (i): if i > 1: return 255,那么它会给出一个全白色的图像!如果我在mappoint中打印I的值,它会显示从0到255的值(就像打印范围(256)),所以每个I不是每个像素的值,是吗?还有另一种方法可以在打开图像时使用convert来创建二层:img=Image.open(img_name).convert('1'),但默认情况下使用的阈值是127,如果需要另一个阈值,doc会说使用point方法


Tags: 方法name图像imageconvertimgreturnif
1条回答
网友
1楼 · 发布于 2024-05-05 02:19:07

这个函数起作用了,你已经生成了一个0和1的图像,它看起来是黑色的是因为标准图像的亮度从0到255。在

像您所做的强度1看起来是黑色的,因为在0到255的范围内,1非常接近0。在

如果您想要黑白图像,请将您的mappoint改为if i>1: return 255。在

相关问题 更多 >