我在目標圖像中的每種RGB顏色的key: 'Color'
和list
字典中都有一堆獨特的RGB顏色。Python - 獨特元素的計算頻率
我想:
- 遍歷目標RGB顏色列表
- 檢查,如果該元素匹配任何在
key: 'Color'
- 的顏色如果匹配我想改變
key: frequency
增加它由一個(+ = 1)
最後,我希望實現這樣的過程dict: Frequency
WIL的末端更新frequency['Frequency']
l包含一串(Color,Frequency)
。然後,我想從低頻到高頻進行排序,並打印每對RGB顏色+外觀數量。
這裏是我到目前爲止的代碼:
from PIL import Image
im = Image.open('test.png').convert('RGB')
im2 = Image.open('test2.png').convert('RGB')
unique_colors = set()
def get_unique_colors(img):
for i in range(0,img.size[0]):
for j in range(0,img.size[1]):
r,g,b = img.getpixel((i,j))
unique_colors.add((r,g,b))
return(unique_colors)
unique_colors = get_unique_colors(im)
all_colors = []
def get_all_colors(img):
for i in range(0,img.size[0]):
for j in range(0,img.size[1]):
r,g,b = rgb_im.getpixel((i,j))
all_colors.append((r,g,b))
return(all_colors)
all_colors = get_all_colors(im2)
frequency = {'Color': list(unique_colors), 'Frequency': [0 for x in range(0,len(unique_colors))]}
我面臨許多問題與我缺乏操作能力的字典,是不是真的適合使用字典這樣的數據存儲在這種情況下?
謝謝,它幫助了很多。 之後我只不得不做: '爲電子在all_colors: 對於i在unique_colors: 如果E == I: 頻率[E] + = 1' 並且比每個(R,G,B)元組將會更新其計數器。 – EduGord
很高興能夠幫助! – ilke444