我想从图像文件名转到图像中白色像素的坐标列表。
我知道它涉及到PIL。我尝试过使用Image.load()
,但这没有用,因为输出不可索引(在for
循环中使用)。
答案 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)