玩davinci的人都知道,视频处理后端(视频图像显示)中的attribute层,是VIDEO1和OSD0的alpha混合,是framebuffer的驱动实现的这种效果。
alpha混合技术,主要是用于实现半透明的效果,假设一种不透明东西的颜色是A(即VIDEO1),另一种透明的东西的颜色是B(即OSD0),那么透过B去看A,看上去的颜色C(即attribute)就是B和A的混合颜色,可以用下面的式子来近似,设B物体的透明度为alpha(取值为0~1之间的浮点数,0为完全透明,1为完全不透明)[1]。
R(C)=alpha*R(B)+(1-alpha)*R(A)
G(C)=alpha*G(B)+(1-alpha)*G(A)
B(C)=alpha*B(B)+(1-alpha)*B(A)
alpha混合可以实现火光、烟雾、阴影、动态光源等等一切你可以想象的出来的半透明效果,具体思想参考[1]。
下面给出实现alpha混合的OpenCV代码,取alpha为0.4、0.6时,alpha混合效果如下图。
源代码:
IDE:vc6
参考:
[1]http://dev.gameres.com/Program/Visual/2D/AlphaQiantan.htm
分享到:
相关推荐
首先,理解图层混合的基础是了解每个模式背后的数学原理。例如,正片叠底(Multiply)模式是将下层颜色的每个通道乘以上层颜色的对应通道,然后将结果加在一起,以保留底层的暗部细节。在MATLAB中,这可以通过简单的...
- **基本原理**:对于每一个像素点,都需要根据其Alpha值决定该像素点的颜色如何与背景色混合。具体来说,如果Alpha值为0,则表示该像素点完全透明;如果Alpha值为255,则表示该像素点完全不透明。 - **数学公式**:...
实现半透明效果时,通常采用`GL_SRC_ALPHA`和`GL_ONE_MINUS_SRC_ALPHA`作为混合因子,这是因为源颜色的Alpha值可以自然地代表其不透明度。当源颜色的Alpha值较低时,意味着它是半透明的;反之,则表示完全不透明。...
首先,混合的基本原理是将当前正在光栅化处理的像素(源像素)与已经存在于后台缓冲区的像素(目标像素)相结合。如果不使用混合,源像素会直接覆盖目标像素,但在启用混合的情况下,源像素和目标像素会根据特定的...
首先,Photoshop的“计算”命令主要与通道相关,它是通过在不同通道之间进行数学运算来创建或修改Alpha通道,进而生成选区。这个工具常用于高级的图像选择和修饰,如著名的通道磨皮技术。在磨皮过程中,选择特定通道...
### GMM高斯混合模型详解 ...通过对GMM的基本原理、数学形式及其关键算法的理解,我们可以更好地应用于实际问题中,解决诸如聚类分析、分类预测等问题。希望本文能帮助读者深入了解GMM,并为其实际应用提供一定的指导。
此外,我们还可以使用`add()`、`subtract()`、`multiply()`和`divide()`函数进行基本的数学运算,或者使用`bitwise_and()`、`bitwise_or()`、`bitwise_not()`和`bitwise_xor()`进行位运算,实现图像的混合效果。...
这个压缩包“4.9 颜色混合.zip”很可能包含了一系列与颜色混合相关的源代码示例,帮助程序员理解和实现各种颜色混合算法。 颜色混合主要涉及颜色理论,包括颜色模型、颜色空间和混合模式。常见的颜色模型有RGB...
本文将详细介绍如何通过MATLAB编程实现高斯混合模型的EM算法,并深入探讨其背后的数学原理。 #### 二、基本概念 **1. 高斯混合模型** 高斯混合模型是一种基于高斯分布的混合模型,用来描述数据集中多个正态分布的...
考虑对两个多边形(1和2)进行alpha混合,不同的绘制次序会得到不同的结果。(这里假定多边形1离观察者最近,那么正确的过程应该先画多边形2,再画多边形1。正如您再现实中所见到的那样,从这两个<透明的>多边形背后...
通过创建和编辑Alpha通道,我们可以直观地看到这种模式的工作原理。在Alpha1和Alpha2通道中填充白色,然后在不同位置填充黑色,通过计算命令并设置混合模式为变暗,可以看到结果是两通道中黑色部分的合并,即变暗...
8. **图形渲染技术**:包括光栅化、纹理映射、MIP映射、Alpha混合和深度缓冲等,这些都是实现逼真3D图像的重要手段。 9. **图形API**:如OpenGL或DirectX,是开发者与硬件交互的桥梁。理解这些API的基本原理和常用...
### LDA数学原理详解 #### 一、引言 Latent Dirichlet Allocation (LDA) 是一种在文档集合中发现潜在主题的统计方法,在自然语言处理领域有着广泛的应用。LDA模型假设每篇文档都是由多个主题构成的混合体,并且每...
- Alpha混合的基本原理及其在Direct3D中的实现方法。 - 如何在Direct3D中设置Alpha混合状态。 - **Alpha混合(Alpha Blending)** - Alpha混合的概念及其在透明物体渲染中的应用。 - 如何通过设置Alpha值实现不同...
在毕业设计中,学生通常会深入研究广义α方法的理论,理解其背后的数学原理,并通过MATLAB实现来验证和比较不同参数设置下的数值解。这不仅锻炼了编程技能,也加深了对数值分析和常微分方程求解方法的理解。此外,...
9. **图像合成**:比如Alpha混合、图像拼接,涉及到多个图像的融合处理。 在"VisualC数字图像处理典型算法及实现"这本书中,你可能会找到这些算法的源代码示例,这对于理解和实践C++图像处理非常有帮助。学习这些...
高斯混合模型(Gaussian Mixture Model,简称GMM)作为单一高斯概率密度函数的扩展,近年来在语音识别与说话人辨识等领域得到了广泛应用,其原因在于GMM能平滑地近似任意形状的密度分布。本文将详细探讨GMM及其参数...
为了正确实现YUV贴图,我们需要理解YUV的颜色模型以及混合算法的数学原理。YUV的存储格式有多种,如YUV4:2:0、YUV4:2:2等,不同的格式会影响到像素处理的方式。此外,对于透明度的支持,可能还需要处理额外的alpha...
5. **alpha混合(Alpha Blending)**:由于火焰具有透明度,我们需要使用alpha通道进行混合。DX提供了一种混合模式,允许我们合并具有透明度信息的像素,从而实现火焰与背景的融合。 6. **粒子系统(Particle ...