python怎么用PIL模块处理BMP图像 二值化

2024-12-01 08:57:21
推荐回答(1个)
回答(1):

用PIL载入BMP格式图像之后 进行灰度处理 可是 返回值是

并不是像素点的值
因为我想对这个图像进行 二值化处理
写了 一段
image = Image.open('E:\\0.2.bmp').convert("L")
for i in image:
if i> 125:
i=255

else:
i=0

可是 并不成功 错误是 TypeError: 'Image' object is not iterable

遍历图片对象?可是怎么个遍历法呢?Pillow 提供了一个 .load() 方法,用来处理像素。图片嘛,当然是二维的,有宽和高的。
pixels = image.load()
for x in ramge(image.width):
for y in range(image.height):
pixsels[x, y] = 255 if pixsels[x, y] > 125 else 0

当然了,只是最简单的二值化的话,直接 image.convert('1') 就可以了 :-)