[英]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。
我嘗試了周期和.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)
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)
編輯:刪除了代碼段中的多余步驟,並添加了打印語句。
假設您正在談論列表的實際列表(您的帖子中缺少一些逗號,這就是我這么說的原因),然后嘗試:
numOccurrences = sum([row.count(255) for row in pixelmatrix])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.