如何用ps抠的图像在opencv中显示透明?(语言-python)

img


用ps抠的图像存储为png透明格式,但是在opencv显示时为不透明,如何解决?

可以使用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)

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^