私は次元が(10, 48, 48, 1)
のnumpy配列を持っているとしましょう。ここでは10
は画像の数を表します。画像は48x48
で、1つのチャンネルは1
です。これらはグレースケールの画像なので、私の配列を表現したい。もちろんこれはできませんが、0
で他の2つのチャンネルを初期化したいと思います。だから私のアレイ状が(10,48,48,3)
イメージアレイにチャネルを追加するにはどうすればよいですか?
1
A
答えて
1
-
z = np.zeros(imgs.shape[:-1] + (2,), dtype=imgs.dtype)
imgs_out = np.concatenate((imgs, z), axis=-1)
のサンプル実行使用するnp.pad
pad = ((0,0),)*3 + ((0,2),)
imgs = np.pad(imgs, pad, 'constant', constant_values = 0)
imgs.shape
(10, 288, 288, 3)
ゼロを使用して値を繰り返すこともできます。np.broadcast_to
を使用することもできます(書きたい場合はコピーを作成してください)
1
ゼロの配列を作成し、最後の軸に沿って連結となるように、どのように私は、他の2つの次元を追加することができます - あなたもできる
In [157]: imgs = np.random.randint(0,255,(10,48,48,1)) # input
In [158]: z = np.zeros(imgs.shape[:-1] + (2,), dtype=imgs.dtype)
In [159]: np.concatenate((imgs, z), axis=-1).shape
Out[159]: (10, 48, 48, 3)