1

私は numpy が初めてで、hereから次の例を理解しようとしています。の出力を理解するのに苦労しています

>>> palette[image] 

インデックス付き配列 a が多次元の場合、インデックスの 1 つの配列は a の最初の次元を参照します。次の例は、パレットを使用してラベルのイメージをカラー イメージに変換することにより、この動作を示しています。

>>> palette = array( [ [0,0,0],                # black
...                    [255,0,0],              # red
...                    [0,255,0],              # green
...                    [0,0,255],              # blue
...                    [255,255,255] ] )       # white
>>> image = array( [ [ 0, 1, 2, 0 ],           # each value corresponds to a color in the palette
...                  [ 0, 3, 4, 0 ]  ] )
>>> palette[image]                            # the (2,4,3) color image
array([[[  0,   0,   0],
        [255,   0,   0],
        [  0, 255,   0],
        [  0,   0,   0]],
       [[  0,   0,   0],
        [  0,   0, 255],
        [255, 255, 255],
        [  0,   0,   0]]])
4

2 に答える 2

2

3D 配列を作成しています。ここで、最初の 2D 配列 (3D 配列を含む) は のインデックスで指定された からpaletteimage[0]を抽出することによって与えられ、2 番目の配列は のインデックスで指定された から行を抽出することによってpalette与えられますimage[1]

>>> palette = array( [ [0,0,0],                # black
...                    [255,0,0],              # red
...                    [0,255,0],              # green
...                    [0,0,255],              # blue
...                    [255,255,255] ] )       # white
>>> image = array( [ [ 0, 1, 2, 0 ],           # each value corresponds to a color in the palette
...                  [ 0, 3, 4, 0 ]  ] )
>>> palette[image]                            # the (2,4,3) color image
array([[[  0,   0,   0], # row at index 0 of palete
        [255,   0,   0], # index 1
        [  0, 255,   0], # index 2
        [  0,   0,   0]], # index 0
       [[  0,   0,   0], # index 0
        [  0,   0, 255], # index 3
        [255, 255, 255], # index 4
        [  0,   0,   0]]]) # index 0
于 2013-06-09T02:37:41.843 に答える
0

これはあなたが理解するのを助けるかもしれません:

array([[[  0,   0,   0],   # palette[0]
        [255,   0,   0],   # palette[1]
        [  0, 255,   0],   # palette[2]
        [  0,   0,   0]],  # palette[0]

       [[  0,   0,   0],   # palette[0]
        [  0,   0, 255],   # palette[3]
        [255, 255, 255],   # palette[4]
        [  0,   0,   0]]]) # palette[0]
于 2013-06-09T02:37:38.187 に答える