我刚刚开始学习python。

我将图像转换为灰色像素矩阵(0 =黑色,255 =白色)

from PIL import Image
import numpy
import array

im = Image.open("elephant.jpg")
grayim = im.convert('L')

pixelmatrix = numpy.asarray(grayim)


如果我

print pixelmatrix


我得到类似的东西:

pixelmatrix = [154 154 154 ..., 169 169 169]
              [153 153 153 ..., 166 166 166]
              [153 153 153 ..., 161 161 161]
              ...,
              [151 130 107 ...,  51  85  75]
              [130 133 111 ...,  86  92  56]
              [ 91 127 119 ..., 102 139  66]]


那就是我要的东西。好

我想做的是评估一个值的出现,例如255。

我尝试了周期和.count方法。

for x in range(0, lastrow):
    for y in range(0, lastcolumn):
        print sum(pixelmatrix[x,y]


他们不工作,我不明白为什么。你可以帮帮我吗?

非常感谢
再见

贾科莫

最佳答案

您可以使用sum

def pixel_frequency(value, image):
    return (image == value).sum()

pixel_frequency(255, pixelmatrix)
# 137 (or something)

10-04 20:25