python OpenCV中
cv2.imread(img_path)默认会读取BGR图像,即3通道图像,读出的图像尺寸为h,w,c。cv2.resize(img, (w,h)),resize中的尺寸是w,h和imread读出来的hw是相反的
cv2.imread(img_path,0): 读取灰度图像
cv2.imread(img_path, cv2.IMREAD_UNCHANGED) : 读取BGR+alpha通道,共4通道原始图(注意,png格式图像有4个通道,jpg图像本身只有3个通道,只会读出3通道),alpha通道用于表示透明度,使用该方法读取则能读到png图像中的透明度。
实际上,我们也可以手动对alpha通道进行修改,从而修改图片的透明程度,或者直接在BGR图像上添加alpha通道,来添加透明度。
img = cv2.imread(img_path)
b_channel, g_channel, r_channel = cv2.split(img)
alpha_channel = np.ones(b_channel.shape, dtype=b_channel.dtype) * 100 # alpha通道每个像素点区间为[0,255], 0为完全透明,255是完全不透明
img_BGRA = cv2.merge((b_channel, g_channel, r_channel, alpha_channel))
cv2.imwrite(img_path)