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

新手上路,请多包涵

用PIL载入BMP格式图像之后 进行灰度处理 可是 返回值是
<PIL.Image.Image image mode=L size=1280x960 at 0x3034F98>
并不是像素点的值
因为我想对这个图像进行 二值化处理
写了 一段
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

求解答!!怎么办?

阅读 18.7k
1 个回答

遍历图片对象?可是怎么个遍历法呢?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') 就可以了 :-)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题