2017-03-13 15 views
1

我將一個PNG圖像導出到一個python numpy數組。將png圖像傳遞給numpy數組,第四列最後一維是什麼?

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,這對我不起作用。我不得不使用4

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

我可以想像紅色通道:

ImR=Im[:,:,0] 

類似的綠色和藍色。最後一個給我一個白色的屏幕。

我設法將其刪除:這是什麼4:爲消除這種第4列

我的問題是前

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

我可以想像的圖像:

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

現在在PNG列?

+3

您的圖像可能由RGB和A組成,A是(http://www.webopedia.com/TERM/A/alpha_channel.html)通道。 – hashcode55

回答

1

如果PNG有一個alpha通道,那麼第四列就是alpha。由於可視化該通道給你全白,所有的alpha都是最大值(如果你的樣本是8位,則爲255),這意味着所有的像素都是不透明的。

相關問題