如何使用带有skimage的alpha通道加载图像?

时间:2016-01-29 23:21:16

标签: python numpy anaconda scikit-image

我使用的是Anaconda的Python发行版,其中包含numpyscipyscikit-image等内容。

我打电话的时候:

from skimage import io
img = io.imread('myimage.png')

它会忽略我的Alpha通道,并将图像返回为形状为(W, H, 3)而非(W, H, 4)的数组。如何获取图像的alpha通道?

1 个答案:

答案 0 :(得分:0)

某些PNG图像从一开始就包含alpha通道。 所以很简单

from skimage import io
img = io.imread('myimage.png')

返回(W, H, 4)

有时候,对于没有PNG或JPG的图片,您可以尝试

import cv2
img = cv2.imread('myimage.png')
img_a = cv2.cvtColor(img, cv2.COLOR_RGB2RGBA)
print(img_a.shape) #(W, H, 4)

正如在skimage.iocv2.imread中返回<class 'numpy.ndarray'>一样,您可以将两者互换地用于任何操作。