Opencv将透明度转换为白色

rqqzpn5f  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(209)

我在Django中打开了一些来自post请求的图像。当我将图像导出为png时,文件被正确导出,并且保持了透明度。当我导出为webp格式时,透明层变成了白色。我认为代码的第一个列表有问题。最后两行代码在另一个项目中使用时工作正常。
这是我的代码的一部分:

img = cv2.imdecode(np.frombuffer(files[x].read(), np.uint8), cv2.IMREAD_UNCHANGED)
...
resized = cv2.resize(img, dimension, interpolation=cv2.INTER_AREA)
cv2.imwrite('img.webp',resized, [cv2.IMWRITE_WEBP_QUALITY, 70])

更新:我检查了导出的wepb图像形状,我有4个通道。当我在浏览器中打开它时,背景是白色的,但当我在VSCode中检查它时,它是透明的。分割图像时,我得到了透明像素的r - 255,b - 255,g - 255,alpha - 0。x1c 0d1x

fquxozlt

fquxozlt1#

您需要将图像img转换为包含alpha通道的4个通道

相关问题