毕业论文

当前位置: 毕业论文 > 范文 >

Alpha-Blending是什么

时间:2022-06-03 17:18来源:优尔论文
alpha blending是什么,Alpha-Blending,是按照“Alpha”混合向量的值来混合源像素和目标像素的一种图像处理技术。

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)

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

Alpha-Blending是什么:http://www.youerw.com/fanwen/lunwen_94777.html
------分隔线----------------------------
推荐内容