win10+Python3.7.3+OpenCV3.4.1入门学习(四)————4.4 alpha通道

Python版本是Python3.7.3,OpenCV版本OpenCV.3.4.1,开发环境为PyCharm

在RGB色彩空间三个通道的基础上,还可以加上一个A通道,也叫alpha通道,表示透明度。这种4个通道的色彩空间被称为RGBA色彩空间,PNG图像是一种典型的4通道图像。alpha通道的赋值范围是[0, 1],或者[0, 255],表示从透明到不透明。

eg:编写一个程序,对图像的alpha通道进行处理。

import cv2
img=cv2.imread("lenacolor.png")
#使用函数将img从BGR色彩空间转换到BGRA色彩空间,A是alpha通道,默认值为255
bgra = cv2.cvtColor(img, cv2.COLOR_BGR2BGRA)
b,g,r,a=cv2.split(bgra)
#从bgra中提取的alpha通道的值设定为125
a[:,:]=125
#将新的alpha通道与原有的BGR通道进行合并,得到一个新的图像
bgra125=cv2.merge([b,g,r,a])
a[:,:]=0
bgra0=cv2.merge([b,g,r,a])
cv2.imshow("img",img)
cv2.imshow("bgra",bgra)
cv2.imshow("bgra125",bgra125)
cv2.imshow("bgra0",bgra0)
cv2.waitKey()
cv2.destroyAllWindows()
cv2.imwrite("bgra.png", bgra)
cv2.imwrite("bgra125.png", bgra125)
cv2.imwrite("bgra0.png", bgra0)

在本例中,首先从当前目录下读取文件lenacolor.png,然后将其进行色彩空间变换,将其由BGR色彩空间转换到BGRA色彩空间,得到bgra,即为原始图像lena添加alpha通道。
接下来,分别将提取得到的alpha通道的值设置为125、0,并将新的alpha通道与原有的BGR通道进行组合,得到新的BGRA图像bgra125、bgra0。
接着,分别显示原始图像、原始BGRA图像bgra、重构的BGRA图像bgra125和bgra0。
最后,将3个不同的BGRA图像保存在当前目录下。
运行程序,显示的图像下如图所示。图中:
● 图(a)是原始图像lena。
● 图(b)是由原始图像lena通过色彩空间转换得到的图像bgra,该图像内alpha通道的值是默认值255。
● 图©是将图像bgra中alpha通道值设置为0得到的。
● 图(d)是将图像bgra中alpha通道值设置为125得到的。
从图中可以看到,各个图像的alpha通道值虽然不同,但是在显示时是没有差别的。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值