【问题标题】:numpy array with Pillow's getcolors' dimensions具有 Pillow 的 getcolors 尺寸的 numpy 数组
【发布时间】:2017-09-14 20:45:06
【问题描述】:

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

【问题讨论】:

  • 那...不是(1, 3) 形状的含义,[n, [1, 3]] 形状也不是什么东西。您也许可以使用结构化数组,但我建议将嵌套元组展平。
  • 我完全忘记了扁平化功能哈哈谢谢

标签: python python-3.x numpy pillow


【解决方案1】:

您应该使用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:你对形状尺寸的定义很奇怪;这会给你带来很多麻烦。我建议使用形状的默认定义,并将它们视为多维数组的轴。

【讨论】:

  • 谢谢,我会尝试扁平化元组并尝试这个!是的,在搞砸了 numpy 的 empty 方法后,我意识到我没有完全理解 shape 格式
猜你喜欢
  • 2013-12-17
  • 1970-01-01
  • 2015-12-12
  • 2021-01-05
  • 2018-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-26
相关资源
最近更新 更多