繁体   English   中英

如何在OpenCV-Python中使用alpha通道打开图像?

[英]How to open an image with alpha channels in OpenCV-Python?

我正在尝试使用python3 cv2库在图像上设置某些像素是透明的。 如何打开图像以便支持透明度?

我调查了这个,我找不到使用透明像素的好文档。

我打开图像的当前方式如下:

img = cv2.resize(cv2.imread("car.jpeg", cv2.COLOR_B), (0, 0), fx=0.2, fy=0.2)

我正在设置这样的颜色:

img.itemset((r, c, 1), val)

如何编辑Alpha通道?

您可以使用以下方法打开已具有Alpha通道的图像,例如PNG或TIFF:

im = cv2.imread('image.png', cv2.IMREAD_UNCHANGED) 

你将看到它的形状有4作为最后一个维度:

print(im.shape)
(400, 400, 4)

或者您可以打开没有Alpha通道的图像,例如JPEG,并自行添加:

BGR = cv2.imread('image.jpg', cv2.IMREAD_UNCHANGED)

BGRA = cv2.cvtColor(im,cv2.COLOR_BGR2BGRA) 

在任何一种情况下,您都可以在Alpha通道中设置值:

BGRA[y,x,3] = ...

然后,最后,将图像保存为支持alpha /透明度的格式,例如TIFF,PNG,GIF。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM