如何将像素列表重塑为RGB矩阵?

时间:2016-05-05 00:47:55

标签: python numpy

给定300个numpy值的数组,其中前100个为红色像素值,第二个为100个绿色,最后100个为蓝色,有快速方式使用重塑将此初始1x30​​0列表重新排列为100x3矩阵,其中每行包含匹配的RGB值?

1 个答案:

答案 0 :(得分:2)

为了更易于管理,让我们假设你有一个numpy数组pix,有30个值,前10个是红色,然后是10个绿色,然后是10个蓝色。例如:

>>> import numpy as np
>>> pix = np.arange(30)
>>> pix
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29])

要将其重新整形为10x3 RGB值数组,请使用:

>>> pix.reshape(3, 10).transpose()
array([[ 0, 10, 20],
       [ 1, 11, 21],
       [ 2, 12, 22],
       [ 3, 13, 23],
       [ 4, 14, 24],
       [ 5, 15, 25],
       [ 6, 16, 26],
       [ 7, 17, 27],
       [ 8, 18, 28],
       [ 9, 19, 29]])
相关问题