使用PIL中的Image.open(r’…’)打开png图片,然后转化成numpy之后会发现其形状是(x,x,4),这是因为png图片除了RGB之外还有一层透明值的数据。
为了变成(x,x,3)的形式可以采用如下方法:
原文链接:https://blog.csdn.net/missyougoon/article/details/85331493
from PIL import Image
img = Image.open('test.png')
# 将一个4通道转化为rgb三通道
img = img.convert("RGB")
PIL包含九种不同模式:1,L,P,RGB,RGBA,CMYK,YCbCr,I,F
使用Image.convert(),可以在这九中模式中进行切换。
模式1为二值图像,非黑即白。
模式L为灰度图像。
RGB就是通常说的三原色。
RGBA就是上例上的在三原色的基础上增加了一个alpha通道。
不过我使用了cv2,进行数据读取的时候,使用:
cv.imread(‘test.png’, 1) 直接返回的就是 RGB 三通道。