numpy数组与枕头的getcolors'尺寸
问题描述:
不可思议的。 Pillow的getcolors()
方法返回元组列表,每个元组具有(1,3)
形状(即(count, (r, g, b))
)。除非有更好的方法来处理这个问题,我怎样才能创建一个具有[n, [1, 3]]
形状的numpy数组?numpy数组与枕头的getcolors'尺寸
答
您应该使用n x 4
维numpy
数组。第一个轴允许您在getcolors
方法的不同结果之间进行选择。第二个轴包含您的数据。您可以在第一个条目中存储值count
值,然后r
,g
和b
值。然后,你可以做这样的事情:
result = np.empty(number, 4)
#get one entry
count, r, g, b = result[n]
你应该始终牢记,你是实际上可以尝试做的:要存储的数据包含4个不同的整数,所以它是4维。并且您期望这种类型的不同数据点有n
。因此,您的阵列必须具有n x 4
的形状。 PS:你对形状的尺寸使用了一个奇怪的定义;这会导致你很多麻烦。我建议使用形状的默认定义,并将它们考虑为多维数组的轴。
+0
谢谢,我会尝试展开元组并尝试这个!是的,在用numpy的空方法搞乱之后,我意识到我没有完全理解形状格式 – AlBeast
这就是......不是'(1,3)'形状意味着什么,并且'[n,[1,3]]形状不是一个东西。你可能能够使用结构化数组,但我建议展开嵌套元组。 – user2357112
我完全忘了平坦功能哈哈谢谢 – AlBeast