目录
根据二值图把图片转透明
import cv2
import numpy as np
# 读取原图和二值图(掩码)
image = cv2.imread('image.jpg') # 原图是3通道
mask = cv2.imread('mask.png', 0) # 只读取灰度作为mask(0表示黑,255表示白)
# 创建 alpha 通道(根据 mask 设置透明度)
# 255 表示不透明,0 表示透明
alpha = np.where(mask > 0, 255, 0).astype(np.uint8)
# 将原图和 alpha 合并成4通道图像
bgra = cv2.merge((image, alpha))
# 保存为带透明背景的 PNG 图像
cv2.imwrite('output.png', bgra)