可以使用cv2.addWeighted()函数实现。
示例代码如下:
import cv2
# 读取抠出的图像
img1 = cv2.imread('image1.jpg')
# 读取用来抠图的背景图
img2 = cv2.imread('image2.jpg')
# 将图像叠加,alpha参数用来调节透明度
dst = cv2.addWeighted(img1, 0.7, img2, 0.3, 0)
# 保存图像
cv2.imwrite('result.jpg', dst)
是opencv读入这个png时格式没设置对吗
OpenCV 支持 BGR 三通道,也支持 BGRA 四通道。
函数 cv2.imread() 用于从指定的文件读取图像。cv.imread() 读取图像时默认忽略透明通道(Alpha通道),但可以使用 CV_LOAD_IMAGE_UNCHANGED 参数读取透明通道。
不知道你这个问题是否已经解决, 如果还没有解决的话:retval = cv.imread(filename, cv.IMREAD_UNCHANGED)