我试图找出我的代码有什么问题。
我想加载包含 Alpha 通道的图像,官方网站的描述如下:
cv.IMREAD_UNCHANGED:如果设置,则按原样返回加载的图像(带有 Alpha 通道,否则会被裁剪)。
这是我的尝试:
import cv2 as cv
img2 = cv.imread( 'lbj.jpg' , cv.IMREAD_UNCHANGED)
img2.shape
结果显示:(350, 590, 3)
难道不是应该的吗(350,590,4)
?
Thanks!
只有三个通道的原因是图像处于jpg
格式,没有 Alpha 通道。如果您要加载例如Apng
然后格式化具有 Alpha 通道的图像
img2 = cv.imread( 'lbj.png' , cv.IMREAD_UNCHANGED)
与 'lbj.png' 将加载包含 alpha 通道的图像,然后
img2.shape
会显示(350, 590, 4)
.
如果你转换一个jpg
to png
那么此时您仍然只有三个通道,因为图像只有BGR
原版中的频道jpg
。但是,此时您可以添加一个 Alpha 通道以使其BGRA
然后继续使用透明度选项。
添加 alpha 通道的答案是python-opencv-添加-alpha-通道到-rgb-图像 https://stackoverflow.com/a/32290192/3803839
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)