众所周知,PNG图片有4个通道。……(^ ^)
今天处理图像的时候,发现PNG格式的图片居然有4个cahnnel,除了RGB外,还有一个alpha通道,来代表不透明度。
自己实验了一下,代码效果展示一下:
原图
1.读图
path = 'your_image_path.png'
img = cv2.imread(path)
print(img.shape)
(1280, 720, 3)
flags=-1,取得alpha通道
img = cv2.imread(path, flags=-1)
print(img.shape)
(1280, 720, 4)
2.取得通道
# 分离通道,最后是alpha
b, g, r, alpha = cv2.split(img)
print(alpha.shape)
(1280, 720)
blue channel上0~255,0:黑色,255蓝色;
green channel上0~255,0:黑色,255绿色;
red channel上0~255,0:黑色,255红色;
alpha channel上0~255,0:完全透明,255不透明,中间值为不透明的程度;