Alpha-Blending,是按照“Alpha”混合向量的值来混合源像素和目标像素的一种图像处理技术。

Alpha混合向量一般表示了图片的透明度。

1 RGB Alpha Blending

两个像素的α混合步骤如下:

首先把源像素和目标像素的RGB三个颜色分量分离。

其次把源像素的三个颜色分量分别乘上Alpha的值,并把目标像素的三个颜色分量分别乘上Alpha的反值。

然后把结果按对应颜色分量相加,再对求得的每个分量结果除以Alpha的最大值。

最后把三个颜色分量重新合成为一个像素输出。Alpha-Blending

混合公式如下:

R3 = R1*a + R2*(1-a);

G3 = G1*a + G2*(1-a);

B3 = B1*a + B2*(1-a);

2 YUV Alpha Blending

对于YUV数据,可以根据YUV与RGB的转换公式推导出YUV的Alpha Blending公式与RGB相同,推导过程如下:

YUV转换成RGB的公式(YUV -> RGB)

C = Y - 16

D = U - 128

E = V - 128

R = clip((298*C + 409*E + 128) >> 8)

G = clip((298*C - 100*D - 208*E + 128) >> 8)

B = clip((298*C + 516*D + 128) >> 8)

RGB转换成YUV的公式(RGB->YUV)

Y = (( 66*R + 129*G +  25*B + 128) >> 8) +  16

U = ((-38*R -  74*G + 112*B + 128) >> 8) + 128

V = ((112*R -  94*G -  18*B + 128) >> 8) + 128

Y分量Alpha Blending过程推导(U,V分量可以同理推出)Alpha-Blending

# 公式转换

Y = ((66*R + 129*G + 25*B + 128)>>8) + 16

(Y1-16)<<8 = 66*R1 + 129*G1 + 25*B1 + 128

(Y2-16)<<8 = 66*R2 + 129*G2 + 25*B2 + 128

(Y3-16)<<8 = 66*R3 + 129*G3 + 25*B3 + 128

# 公式展开

((Y1-16)<<8)*a + ((Y2-16)<<8)*(1-a)

=(66*R1 + 129*G1 + 25*B1 + 128)*a + (66*R2 + 129*G2 + 25*B2 + 128)*(1-a)

=66*(R1*a + R2*(1-a)) + 129*(G1*a + G2*(1-a)) + 25*(B1*a + B2*(1-a)) +128

=66*R3 + 129*R3 + 25*R3 +128

= (Y3-16)<<8

# 公式整理

(Y3-16)<<8 = ((Y1-16)<<8)*a + ((Y2-16)<<8)*(1-a)

(Y3-16) = (Y1-16)*a + (Y2-16)*(1-a)

Y3 = (Y1-16)*a + (Y2-16)*(1-a) + 16

   = Y1*a - 16*a + Y2*(1-a) - 16 + 16*a +16

   = Y1*a + Y2*(1-a)

整个推导过程比较简单,主要就是公式代入,展开,合并同类项。

上一篇:session.invalidate什么意思怎么用
下一篇:锂电池un38.3认证是什么un38.3认证费用多少

党在新时代的强军目标是什么

长沙自建房倒塌原因是什么?

预防毒品的三道防线是什么

我国禁毒工作的治本之策是什么答案

新精神活性物质是什么

举报间谍的电话是什么?

听党指挥能打胜仗作风优良是什么

磁流变液可控阻尼离合器的设计+CAD图纸

陶渊明赠答诗与嵇康赠答诗文献综述

浅谈地质灾害及其分布规律【2498字】

小學生语文學习兴趣的激发与培养【2255字】

關于民办高校人才队伍建...

浅谈全球价值链视角下传...

学院教职工体育活动现状调查问卷表

crm成功案例分析crm成功案例

17岁學生怎么兼职赚钱,...

股票个别风险和预期收益率的关系