Welcome To Wei Qiang's Personal Website
全站内容自由转载-非商用-非衍生-保持署名|魏强的个人网站

在图像图形处理中alpha到底是什么?什么是alpha通道?

Alpha通道是计算机图形学中的术语,指的是特别的通道,意思是“非彩色”通道,主要是用来保存选区和编辑选区。

狭隘的直白描述就是:阿尔法通道(α Channel或Alpha Channel)是指一张图片的透明度和半透明度。在计算机图形学中,一个RGB颜色模型的真彩图形,用由红、绿、蓝三个色彩信息通道合成的,每个通道用了8位色彩深度,共计24位,包含了所有彩色信息。为实现图形的透明效果,采取在图形文件的处理与存储中附加上另一个8位信息的方法,这个附加的代表图形中各个像素点透明度的通道信息就被叫做Alpha通道。

例如:一个使用每个像素16比特存储的位图,对于图形中的每一个像素而言,可能以5个比特表示红色,5个比特表示绿色,5个比特表示蓝色,最后一个比特是阿尔法。在这种情况下,它要么表示透明要么不是,因为阿尔法比特只有0或1两种不同表示的可能性。又如一个使用32个比特存储的位图,每8个比特表示红绿蓝,和阿尔法通道。在这种情况下,就不光可以表示透明还是不透明,阿尔法通道还可以表示256级的半透明度,因为阿尔法通道有8个比特可以有256种(2的8次方)不同的数据表示可能性。

但是,真正让图片变透明的不是Alpha ,实际是Alpha所代表的数值和其他数值做了一次运算 。比如你有一张图片你想抠出图片中间的一部分 在PS里你会建立一个蒙板 然后在蒙板里把不需要的地方填充成黑色 需要的留成白色 这个时候实际上是是做了一次乘法。用黑色所代表的数值0去乘以你所填充的地方 那么这个地方就变透明了。

在生成一个图像文件时,并不必须产生 Alpha 通道。通常它是由人们在图像处理过程中人为生成,并从中读取选择区域信息的。因此在输出制版时, Alpha 通道会因为与最终生成的图像无关而被删除。但也有时,比如在三维软件最终渲染输出的时候,会附带生成一张 Alpha 通道,用以在平面处理软件中作后期合成。

一个透明或半透明图形的数学模型应当如下:

为了便于下面的分析,设Alpha值[0,255]区间映射为[0,1]区间相对应的值表示,即Alpha值为0—1之间的数值。则图形文件中各个像素点可表示为:

Graphx(Redx,Greenx,Bulex,Alphax)

屏幕上相应像素点的显示值就转换为:

Dispx(Redx*Alphax,Greenx*Alphax,Bluex*Alphax)

Alpha通道不仅用于单个图形的透明或半透明显示,更重要的是在图像合成中被广泛运用。

下面是如何根据Alpha通道数据进行图像混合的算法:

我们把需要组合的颜色计算出不含Alpha分量的原始RGB分量然后相加便可。如:两幅图像分别为A和B,由这两幅图像组合而成的图像称为C,则可用如下四元组表示图A和B,三元组表示图像C:

A:(Ra,Ga,Ba,Alphaa)

B:(Rb,Gb,Bb,Alphab)

C:(Rc,Gc,Bc)

根据上述算法,则:

Rc=Ra*Alphaa+Rb*Alphab

Gc=Ga*Alphaa+Gb*Alphab

Bc=Ba*Alphaa+Bb*Alphab

这就是两图像混合后的三原色分量。

如果有多幅图像需要混合,则按照以上方法两幅两幅地进行混合。

赞(0) 打赏
转载请注明www.weiqiangcn.com魏强的个人网站 » 在图像图形处理中alpha到底是什么?什么是alpha通道?
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

Welcome To Wei Qiang's Presonal Website

圈子专栏