我将png图像导出到python 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]
类似于绿色和蓝色。最后一个给我一个白色的屏幕。
我设法删除了它:
Im4=Im[:,:,:-1]
现在:
>>> Im4.shape
(401, 601, 3)
我可以在删除第4列之前将图像可视化
我的问题是:PNG的第4栏是什么?
答案 0 :(得分:3)
如果PNG有alpha通道,第四列将是alpha。由于可视化通道给你全白,所有的alpha都是maxval(如果样本是8位,则为255),这意味着所有像素都是不透明的。