与Pillow的getcolors' '尺寸

时间:2017-09-14 20:45:06

标签: python python-3.x numpy pillow

非常不言自明。 Pillow的getcolors()方法返回元组列表,每个元组都有(1,3)形状(即(count, (r, g, b)))。除非有更好的方法来处理这个问题,我怎么能创建一个[n, [1, 3]]形状的numpy数组呢?

1 个答案:

答案 0 :(得分:0)

您应该使用n x 4numpy数组。第一个轴允许您在getcolors方法的不同结果之间进行选择。第二个轴包含您的数据。您可以在第一个条目中存储count值,然后存储rgb值。然后你可以做这样的事情:

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

您应该始终牢记,您正在尝试做的事情:您要存储的数据包含4个不同的整数,因此它是4维的。并且您期望n这种类型的不同数据点。因此,您的数组必须具有n x 4形状。

PS:你使用了奇怪的形状定义'尺寸;这会给你带来很多麻烦。我建议使用形状的默认定义,并将它们视为多维数组的轴。