numpy数组与枕头的getcolors'尺寸

问题描述:

不可思议的。 Pillow的getcolors()方法返回元组列表,每个元组具有(1,3)形状(即(count, (r, g, b)))。除非有更好的方法来处理这个问题,我怎样才能创建一个具有[n, [1, 3]]形状的numpy数组?numpy数组与枕头的getcolors'尺寸

+0

这就是......不是'(1,3)'形状意味着什么,并且'[n,[1,3]]形状​​不是一个东西。你可能能够使用结构化数组,但我建议展开嵌套元组。 – user2357112

+0

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

您应该使用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