美文网首页
alpha通道

alpha通道

作者: 大龙10 | 来源:发表于2021-10-01 04:49 被阅读0次

    《OpenCV轻松入门:面向Python》读书笔记
    作者:李立宗
    出版社:电子工业出版社
    出版时间:2019-05

    第4章 色彩空间类型转换

    4.4 HSV色彩空间讨论

    4.5 alpha通道

    1)定义

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

    2)程序

    【例4.13】编写一个程序,对图像的alpha通道进行处理。

    • 首先从当前目录下读取文件lenacolor.png,然后将其进行色彩空间变换,将其由BGR色彩空间转换到BGRA色彩空间,得到bgra,即为原始图像lena添加alpha通道。
    • 接下来,分别将提取得到的alpha通道的值设置为125、0,并将新的alpha通道与原有的BGR通道进行组合,得到新的BGRA图像bgra125、bgra0。
    • 接着,分别显示原始图像、原始BGRA图像bgra、重构的BGRA图像bgra125和bgra0。
    • 最后,将3个不同的BGRA图像保存在当前目录下。
    import cv2
    img=cv2.imread("lenacolor.png")
    bgra = cv2.cvtColor(img, cv2.COLOR_BGR2BGRA)
    b,g,r,a=cv2.split(bgra)
    a[:,:]=125
    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)
    

    3)运行结果

      alpha通道值为0的PNG图像是透明的,覆盖在其他图像上时,可以透过该PNG图像看见后面的背景图像。

    相关文章

      网友评论

          本文标题:alpha通道

          本文链接:https://www.haomeiwen.com/subject/yxuzgltx.html