Python - 获取图像的白色像素

时间:2014-03-24 17:28:23

标签: python image numpy python-imaging-library pixel

我想从图像文件名转到图像中白色像素的坐标列表。

我知道它涉及到PIL。我尝试过使用Image.load(),但这没有用,因为输出不可索引(在for循环中使用)。

1 个答案:

答案 0 :(得分:2)

您可以将图像转储为numpy数组,并以这种方式处理像素值。

from PIL import Image
import numpy as np
im=Image.open("someimage.png")
pixels=np.asarray(im.getdata())
npixels,bpp=pixels.shape

这将为您提供一个数组,其尺寸将取决于您每个像素的带数(上面的bpp)和行数乘以图像中的列数 - 形状将为您提供结果数组的大小。获得像素值后,过滤掉值为255

的值应该很简单

要将numpy数组转换回图像,请使用:

im=Image.fromarray(pixels)