如何在 python 中的列表列表中查找元素的出现
how to find occurrences of elements in a list of list in python
刚开始学习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。
我尝试了 for cycles 和 .count 方法。
for x in range(0, lastrow):
for y in range(0, lastcolumn):
print sum(pixelmatrix[x,y]
它们不起作用,我不明白为什么。你能帮帮我吗?
非常感谢
再见
贾科莫
from PIL import Image
import numpy
import array
im = Image.open("elephant.jpg")
grayim = im.convert('L')
pixelmatrix = numpy.asarray(grayim)
no_occurrences = numpy.sum(pixelmatrix==255)
print(no_occurrences)
编辑:删除了代码片段中的冗余步骤并添加了打印语句。
假设您正在谈论一个实际的列表列表(您的 post 中缺少一些逗号,这就是我这么说的原因),然后尝试:
numOccurrences = sum([row.count(255) for row in pixelmatrix])
您可以使用 sum
.
def pixel_frequency(value, image):
return (image == value).sum()
pixel_frequency(255, pixelmatrix)
# 137 (or something)
刚开始学习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。
我尝试了 for cycles 和 .count 方法。
for x in range(0, lastrow):
for y in range(0, lastcolumn):
print sum(pixelmatrix[x,y]
它们不起作用,我不明白为什么。你能帮帮我吗?
非常感谢 再见
贾科莫
from PIL import Image
import numpy
import array
im = Image.open("elephant.jpg")
grayim = im.convert('L')
pixelmatrix = numpy.asarray(grayim)
no_occurrences = numpy.sum(pixelmatrix==255)
print(no_occurrences)
编辑:删除了代码片段中的冗余步骤并添加了打印语句。
假设您正在谈论一个实际的列表列表(您的 post 中缺少一些逗号,这就是我这么说的原因),然后尝试:
numOccurrences = sum([row.count(255) for row in pixelmatrix])
您可以使用 sum
.
def pixel_frequency(value, image):
return (image == value).sum()
pixel_frequency(255, pixelmatrix)
# 137 (or something)