2016-06-26 7 views
0

私はpngイメージを読んでいて、それはRGBA形式であり、私は 'A'部分を削除したいと思います。私のイメージの形は(694,1077,4)ですが、私はそれが(694,1077,3)になりたいです。私は配列の最後の列を削除したいので、RGB値しか持たない。misc.imread()から得られたndarrayから値の列全体をどのように削除しますか?

+0

これを試してください。http://docs.scipy.org/doc/numpy/reference/generated/numpy.delete.html – min2bro

+0

この場合、「削除」が必要以上に一般的です。 ':3 'スライスはより速くなります - もし' view'がOKならば( 'copy'とは対照的に)。 – hpaulj

答えて

1

は単純にこれを行います。

+0

ありがとう、これは完全に働いた!私は、インデックス作成が箱のような次元のように動作すると仮定して正しいですか? box [length、height、width] == im [行、列、寸法]? – Ikkster

+0

よろしくお願いします!確かに、多チャンネル画像をプリズムとして考えることができます。しかし、私は個人的に寸法を[長さ、幅、深さ(または高さ)]と想像しています。 – jhuang

0
nd = np.random.randn(60).reshape(3,4,5) 
print nd 
print nd[:,:,:nd.shape[2]-1].shape #(3L, 4L, 4L) 

これは最後の列を削除します。あなたがアルファバンドを省くべき、mode='RGB'パラメータ(see docs)を使用することができます

im_without_A = im[:, :, :3] 
関連する問題