zoukankan      html  css  js  c++  java
  • python opencv 为图片添加alpha通道并设置透明,判断是否存在alpha通道

     读取图片
    使用函数cv2.imread(filepath,flags)读入一副图片
    filepath:要读入图片的完整路径
    flags:读入图片的标志
    cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
    cv2.IMREAD_GRAYSCALE:读入灰度图片
    cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道

    import numpy as np

    import cv2

    img = cv2.imread(‘1.jpg’,cv2.IMREAD_GRAYSCALE)

    opencv 读取图片后通道为BGR的格式,这里做个示范将图片的左半边设置为透明效果。

    import cv2
    import numpy as np
     
    img = cv2.imread("/home/shuai/Desktop/lena.jpg")
     
    b_channel, g_channel, r_channel = cv2.split(img)
     
    alpha_channel = np.ones(b_channel.shape, dtype=b_channel.dtype) * 255
    # 最小值为0
    alpha_channel[:, :int(b_channel.shape[0] / 2)] = 100
     
    img_BGRA = cv2.merge((b_channel, g_channel, r_channel, alpha_channel))
     
    cv2.imwrite("lena.png", img_BGRA)
    import cv2
    import numpy as np
    def get_channel():
        for fil in os.listdir(r'C:Users83815DesktopLR'):
            file=os.path.join(r'C:Users83815Desktop\LR',fil)
            img=cv2.imread(file,cv2.IMREAD_UNCHANGED)
            print(img.shape)

    (120, 125, 3)输出为3表示没有alpha通道,如果是4表示有alpha通道

  • 相关阅读:
    【数学】【AOJ-614】座位安排
    【乱搞】【AOJ-611】消失的5,8,9
    redis 与session
    Nginx 与 tomcat 部署网站
    linux 进程在后台执行
    印象笔记
    consul 小結
    spring boot 使用拦截器,注解 实现 权限过滤
    Springcloud/Springboot项目绑定域名,使用Nginx配置Https
    spring boot 登录认证
  • 原文地址:https://www.cnblogs.com/zhaoyingjie/p/14694993.html
Copyright © 2011-2022 走看看