我用numpy / scikit加载图片。我知道所有图像都是200x200像素。
当图像被加载时,我注意到有一些有alpha通道,因此有形状(200,200,4)而不是(200,200,3),我期待。
有没有办法删除最后一个值,丢弃Alpha通道并将所有图像变为漂亮的(200,200,3)形状?
答案 0 :(得分:41)
只需切片数组即可获得最后一个维度的前三个条目:
image_without_alpha = image[:,:,:3]
答案 1 :(得分:2)
scikit-image 内置:
from skimage.color import rgba2rgb
from skimage import data
img_rgba = data.logo()
img_rgb = rgba2rgb(img_rgba)
https://scikit-image.org/docs/dev/user_guide/transforming_image_data.html#conversion-from-rgba-to-rgb-removing-alpha-channel-through-alpha-blending
https://scikit-image.org/docs/dev/api/skimage.color.html#rgba2rgb