• Alpha通道原理及实现方法


    ALPHA是什么?在图形学中,ALPHA指的是除了颜色的三个分量(RGB)外的第四个分量:透明度。所以,一个真彩色(指利用RGB分量合成颜色)的像素就变成由四个分量组成:R、G、B、A。在我们的讨论里,设R、G、B、A均为从0到1的值,其中ALPHA=0为完全透明,ALPHA=1为完全覆盖,中间的数值代表半透明。这样的设定是为了能使本文独立于显示硬件。我们把诸如(R,G,B,A)这样的东西称为四元组。一个这样的四元组代表一个由R*A、G*A、B*A组合而成的颜色。

        有一点重要的是,要清楚分辨如下两个关键像素的意义:

    黑色=(0,0,0,1)

    完全透明=(0,0,0,0)

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

    简单地,我们只需要把需要组合的颜色计算出不含ALPHA分量的原始RGB分量然后相加便可。比如现在有两幅图象,分别称为图象A和图象B,由这两幅图象组合而成的图象称为C,则我们有如下的四元组:

    A: (Ra,Ga,Ba,ALPHAa)

    B: (Rb, Gb, Bb, ALPHAb)

    和组合后的RGB三元组:

    C: (Rc, Gc, Bc)

    则:

    Rc = Ra * ALPHAa + Rb * ALPHAb

    Gc = Ga * ALPHAa + Gb * ALPHAb

    Bc = Ba * ALPHAa + Bb * ALPHAb

    便可得出混合后的颜色。

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

    附:计算机显示原理(光栅图象):

    光栅图象很常用,如CRT,LCD,打印机等等。他常见问题是由于光栅寻址而产生的走样(也叫锯齿)。在这里不讨论。

    以CRT为例,图象显示前先进预处理部分(BIT PLANE),有一个“BIT PLANE”显示器只显示纯黑白图。有8个“BIT PLANE”显示器显示2的8次方即256级灰读图。当然该图象数据显示前还要经过寄存器,寄存器把8个“BIT PLANE”中相应数据合为一个8位2进制数。即可实现256级灰度图。还有一种叫调色版的显示技术,他用一数据库,其中图象位数高于8位,即可显示更多级灰度灰度图。调色版中数据库是通过寄存器中8位2进制数索引的,即他每次只能使用256个连续的数据库中的图象数据。这样计算不便。

    彩色显示器分RGB三色显示,每色有8个“BIT PLANE”,即可还原真彩。

    计算机中只有0,1俩数。0乘任何数是0,1乘任何数是1。现在大家应明白为什么8位灰度图能实现完全透明(00000000),完全覆盖(11111111),中间的数值代表半透明。

    premultiple为有的软件(如3D软件)输出的图象已经把RGB和A做乘了。PRE-英文为先的意思。

  • 相关阅读:
    【概率】Uva 10900
    【组合数的唯一分解定理】Uva1635
    【欧拉定理】计算(a^(b^c))%1000000007
    【小小的思路】坑死自己的数学水题
    【杨氏矩阵+勾长公式】POJ 2279 Mr. Young's Picture Permutations
    【dp入门题】【跟着14练dp吧...囧】
    【补】【FZU月赛】【20150515】【待续】
    【二分查找最优解】FZU 2056 最大正方形
    【二进制】FZU 2062 Suneast & Yayamao
    【阔别许久的博】【我要开始攻数学和几何啦】【高精度取模+同余模定理,*】POJ 2365 The Embarrassed Cryptographer
  • 原文地址:https://www.cnblogs.com/liwenbin/p/2728759.html
Copyright © 2020-2023  润新知