RGB图像转RGBA图像

 

目录

一 什么是RGBA图像

二 RGB转RGBA


一 什么是RGBA图像

定义:RGBA是代表red(红色)、green(绿色)、blue(蓝色)和alpha的色彩空间,是在RGB颜色模型上增加了一个alpha通道

比如RGB图像的shape为(450,548,3), 那么对应的RGBA图像的shape为(450,548,4)

位深度:RBG为24位

              RGBA为32位

图像格式:PNG是一种使用RGBA的图像格式(RGBA图像只能保存为PNG格式)

说明:如果一个像素的alpha通道数值为0,那它就是完全透明的(也就是看不见的),而数值为255则意味着一个完全不透明的像素(传统的数字图像)

RGBA图像有什么作用:在计算机图形学领域,alpha合成(英语:alpha compositing)是一种将图像与背景结合的过程,结合后可以产生部分透明或全透明的视觉效果。 图像语义分割最终得到的图片就是RGBA图片。

二 RGB转RGBA

指定区域alpha为0,120,255的结果展示

import numpy as np
import cv2 as cv

def create_RGBA(alpha):
    img_path = "4.jpg"
    image = cv.imread(img_path, cv.IMREAD_UNCHANGED)

    w, h, _ = image.shape

    alpha_channel = np.ones((w, h)) * 255

    w_alp, h_alp = 100, 100
    x, y = 250, 230
    alpha_channel[x:x+w_alp, y:y+h_alp] = np.ones((w_alp, h_alp)) * alpha
    
    img = np.zeros((w, h, 4))
    img[:,:,0] = image[:, :, 0]
    img[:,:,1] = image[:, :, 1]
    img[:,:,2] = image[:, :, 2]
    img[:,:,3] = alpha_channel

    cv.imwrite("img120.png", img)

def main():
    alpha = 120  # 0, 120, 255
    create_RGBA(alpha)

if __name__== "__main__":
    main()
alpha=0
alpha=120
alpha=255
​​​​​​

 

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值