2017-03-13 5 views
1

png画像をPythonのnumpy配列にエクスポートしました。pngイメージをnumpy配列に渡すと、最後の4番目の列は何ですか?

import numpy 
import Image 
import matplotlib.pyplot as plt 
Im=Image.opne('file.png') 
arr=numpy.array(Im).reshape(Im.size[1],Im.size[0],4) 
plt.imshow(arr) 
plt.show() 

現在、書籍では3つのチャンネルを使用しているpngの形がわかりましたが、それは私には役に立たないものです。緑、青のための

ImR=Im[:,:,0] 

類似:私は赤チャンネルを視覚化することができます。4.

>>> Im.shape 
(401, 601, 4) 

を使用する必要がありました。最後の1つは私に白いスクリーンを与えます。

私はそれを削除するには、管理:

Im4=Im[:,:,:-1] 

となりました:

>>> Im4.shape 
(401, 601, 3) 

私の質問があり、この第四列

を除去する前にように私は、画像を可視化することができます:この第四は何ですかPNGの列?

+3

画像はRGBとAから構成されていますが、Aはα(http://www.webopedia.com/TERM/A/alpha_channel.html)チャンネルです。 – hashcode55

答えて

1

PNGにアルファチャンネルがある場合、4番目の列はアルファです。そのチャンネルを視覚化するとすべてが白になりますので、すべてのアルファはmaxvalです(サンプルが8ビットの場合は255)。これはすべてのピクセルが不透明であることを意味します。

関連する問題