2017-09-14 105 views
1

不可思議的。 Pillow的getcolors()方法返回元組列表,每個元組具有(1,3)形狀(即(count, (r, g, b)))。除非有更好的方法來處理這個問題,我怎樣才能創建一個具有[n, [1, 3]]形狀的numpy數組?numpy數組與枕頭的getcolors'尺寸

+0

這就是......不是'(1,3)'形狀意味着什麼,並且'[n,[1,3]]形狀​​不是一個東西。你可能能夠使用結構化數組,但我建議展開嵌套元組。 – user2357112

+0

我完全忘了平坦功能哈哈謝謝 – AlBeast

回答

0

您應該使用n x 4numpy數組。第一個軸允許您在getcolors方法的不同結果之間進行選擇。第二個軸包含您的數據。您可以在第一個條目中存儲值count值,然後r,gb值。然後,你可以做這樣的事情:

result = np.empty(number, 4) 
#get one entry 
count, r, g, b = result[n] 

你應該始終牢記,你是實際上可以嘗試做的:要存儲的數據包含4個不同的整數,所以它是4維。並且您期望這種類型的不同數據點有n。因此,您的陣列必須具有n x 4的形狀。 PS:你對形狀的尺寸使用了一個奇怪的定義;這會導致你很多麻煩。我建議使用形狀的默認定義,並將它們考慮爲多維數組的軸。

+0

謝謝,我會嘗試展開元組並嘗試這個!是的,在用numpy的空方法搞亂之後,我意識到我沒有完全理解形狀格式 – AlBeast