一 什么是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()
目录一 什么是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格式)说明:如果...
b_channel, g_channel, r_channel = cv2.split(img)
alpha_channel = np.ones(b_channel.shape, dtype=b_channel.dtype) * 50 #creating a dummy alpha channel image.
img_BGRA = cv2.merge((b_channel, g_channel, r_channel, alpha_channel))
2.使用PIL
最近在做PNG解码,获得的数据是RGBA,但用来写BMP图像的函数只具有写RGB功能,所以想将RGBA转成RGB;
其实带有A通道的图片解码之后得到额数据是 RGBA,如果直接将A通道的数据舍去,将会使写出的图像失真。可以采用如下方法进行转换;
1.将 R,-G-B-A数
Bitmap bitmap=Bitmap.createBitmap(src.getWidth(), src.getHeight(),Config.ARGB_8888);
Paint paint=new Paint(Paint.ANTI_ALIAS_FLAG);
Canvas canvas=new Canvas(bitmap);
//设置颜色的色相
ColorMatrix hue
OpenCV轻松入门(面向Python)我们首先要对**RGB,GRAY,HSV和RGBA**色彩空间的概念有大致的了解。欢迎来到梁老湿课堂--学习目录色彩空间的转换函数实现颜色提取:提取指定颜色学会几何变换,并且实现图像的几何变换我们下期再见
我们首先要对RGB,GRAY,HSV和RGBA色彩空间的概念有大致的了解。
1.RGB
2.GRAY
3.HSV
4.RGBA
RGBA是代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间。虽然它有的时候被描述为一个颜色空间,但是它其实仅
var colors = ['#eEE','#ffffff','#000000','#cf8','#be2626'];
String.prototype.colorRgb = function(){
var color = this.toLowerCase();
var pattern = /^#([0-9|a-f]{3}|[0-9|a-f...