带有 Pillow 的 getcolors 尺寸的 numpy 数组
numpy array with Pillow's getcolors' dimensions
非常不言自明。 Pillow 的 getcolors()
方法 returns 元组列表,每个元组具有 (1,3)
形状(即 (count, (r, g, b))
)。除非有更好的方法来处理这个问题,否则我如何创建一个 [n, [1, 3]]
形状的 numpy 数组?
您应该使用 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:你对形状维度的定义很奇怪;这会给你带来很多麻烦。我建议使用形状的默认定义,并将它们视为多维数组的轴。
非常不言自明。 Pillow 的 getcolors()
方法 returns 元组列表,每个元组具有 (1,3)
形状(即 (count, (r, g, b))
)。除非有更好的方法来处理这个问题,否则我如何创建一个 [n, [1, 3]]
形状的 numpy 数组?
您应该使用 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:你对形状维度的定义很奇怪;这会给你带来很多麻烦。我建议使用形状的默认定义,并将它们视为多维数组的轴。