2016-08-12 5 views
1

私はAの形状の(480, 640, 3)を持っています。私は値Bの形状(3, 480, 640)の値を使って値を入力したいと思います。私はnumpy.reshape(A, B.shape)を試しましたが、これはやっていないと思います。numpy行列の1次元を移動するにはどうすればよいですか?

状況によっては、480と640の寸法が画像のフレームの高さと幅で、3つの寸法がカラー(RGB)の値です。

(私はこれを行うための効率的な方法ではなく、ループのネストされたの束を探しています。)

答えて

1

私はあなたが軸を交換またはロールすると思います。 3-D列で始まるのをしてみましょう:

>>> mat = np.arange(24).reshape(2, 4, 3) 
>>> mat.shape 
(2, 4, 3) 

、のはswapaxesとの軸を並べ替えてみましょう:

>>> mat.swapaxes(0, 2).swapaxes(1, 2).shape 
(3, 2, 4) 

か、の座標軸をロールしてみましょう:

>>> rolled = np.rollaxis(mat, 2) 
>>> rolled.shape 
(3, 2, 4) 
+0

すごいです!私は 'rollaxis()' verisonが好きです。 – BoltzmannBrain

関連する問題