我刚刚开始学习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)