`
emowuyi
  • 浏览: 1509183 次
文章分类
社区版块
存档分类
最新评论

alpha混合的数学原理与实现

 
阅读更多
玩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


分享到:
评论

相关推荐

    photoshop图层混合的matlab实现

    首先,理解图层混合的基础是了解每个模式背后的数学原理。例如,正片叠底(Multiply)模式是将下层颜色的每个通道乘以上层颜色的对应通道,然后将结果加在一起,以保留底层的暗部细节。在MATLAB中,这可以通过简单的...

    图像透明显示原理及其实现.pdf

    - **基本原理**:对于每一个像素点,都需要根据其Alpha值决定该像素点的颜色如何与背景色混合。具体来说,如果Alpha值为0,则表示该像素点完全透明;如果Alpha值为255,则表示该像素点完全不透明。 - **数学公式**:...

    OpenGL入门学习之九——使用混合来实现半透明效果.pdf

    实现半透明效果时,通常采用`GL_SRC_ALPHA`和`GL_ONE_MINUS_SRC_ALPHA`作为混合因子,这是因为源颜色的Alpha值可以自然地代表其不透明度。当源颜色的Alpha值较低时,意味着它是半透明的;反之,则表示完全不透明。...

    9.1混合方程1

    首先,混合的基本原理是将当前正在光栅化处理的像素(源像素)与已经存在于后台缓冲区的像素(目标像素)相结合。如果不使用混合,源像素会直接覆盖目标像素,但在启用混合的情况下,源像素和目标像素会根据特定的...

    photoshop_ps计算命令与图层混合模式详解

    首先,Photoshop的“计算”命令主要与通道相关,它是通过在不同通道之间进行数学运算来创建或修改Alpha通道,进而生成选区。这个工具常用于高级的图像选择和修饰,如著名的通道磨皮技术。在磨皮过程中,选择特定通道...

    GMM高斯混合模型

    ### GMM高斯混合模型详解 ...通过对GMM的基本原理、数学形式及其关键算法的理解,我们可以更好地应用于实际问题中,解决诸如聚类分析、分类预测等问题。希望本文能帮助读者深入了解GMM,并为其实际应用提供一定的指导。

    03 图像的叠加与混合.zip

    此外,我们还可以使用`add()`、`subtract()`、`multiply()`和`divide()`函数进行基本的数学运算,或者使用`bitwise_and()`、`bitwise_or()`、`bitwise_not()`和`bitwise_xor()`进行位运算,实现图像的混合效果。...

    计算机软件-编程源码-4.9 颜色混合.zip

    这个压缩包“4.9 颜色混合.zip”很可能包含了一系列与颜色混合相关的源代码示例,帮助程序员理解和实现各种颜色混合算法。 颜色混合主要涉及颜色理论,包括颜色模型、颜色空间和混合模式。常见的颜色模型有RGB...

    机器学习高斯混合模型EM

    本文将详细介绍如何通过MATLAB编程实现高斯混合模型的EM算法,并深入探讨其背后的数学原理。 #### 二、基本概念 **1. 高斯混合模型** 高斯混合模型是一种基于高斯分布的混合模型,用来描述数据集中多个正态分布的...

    OpenGL 混合

    考虑对两个多边形(1和2)进行alpha混合,不同的绘制次序会得到不同的结果。(这里假定多边形1离观察者最近,那么正确的过程应该先画多边形2,再画多边形1。正如您再现实中所见到的那样,从这两个<透明的>多边形背后...

    Photoshop实例教程混合模式全面应用实例.doc

    通过创建和编辑Alpha通道,我们可以直观地看到这种模式的工作原理。在Alpha1和Alpha2通道中填充白色,然后在不同位置填充黑色,通过计算命令并设置混合模式为变暗,可以看到结果是两通道中黑色部分的合并,即变暗...

    《3D数学基础 图形与游戏开发》 高清扫描

    8. **图形渲染技术**:包括光栅化、纹理映射、MIP映射、Alpha混合和深度缓冲等,这些都是实现逼真3D图像的重要手段。 9. **图形API**:如OpenGL或DirectX,是开发者与硬件交互的桥梁。理解这些API的基本原理和常用...

    LDA数学八卦.pdf

    ### LDA数学原理详解 #### 一、引言 Latent Dirichlet Allocation (LDA) 是一种在文档集合中发现潜在主题的统计方法,在自然语言处理领域有着广泛的应用。LDA模型假设每篇文档都是由多个主题构成的混合体,并且每...

    DirectX_9_3D游戏程序设计入门

    - Alpha混合的基本原理及其在Direct3D中的实现方法。 - 如何在Direct3D中设置Alpha混合状态。 - **Alpha混合(Alpha Blending)** - Alpha混合的概念及其在透明物体渲染中的应用。 - 如何通过设置Alpha值实现不同...

    毕业设计MATLAB_线性和非线性常微分方程的广义alpha方法.zip

    在毕业设计中,学生通常会深入研究广义α方法的理论,理解其背后的数学原理,并通过MATLAB实现来验证和比较不同参数设置下的数值解。这不仅锻炼了编程技能,也加深了对数值分析和常微分方程求解方法的理解。此外,...

    C++实现的一些图像处理典型算法

    9. **图像合成**:比如Alpha混合、图像拼接,涉及到多个图像的融合处理。 在"VisualC数字图像处理典型算法及实现"这本书中,你可能会找到这些算法的源代码示例,这对于理解和实践C++图像处理非常有帮助。学习这些...

    高斯混合模型GMM估计算法推导

    高斯混合模型(Gaussian Mixture Model,简称GMM)作为单一高斯概率密度函数的扩展,近年来在语音识别与说话人辨识等领域得到了广泛应用,其原因在于GMM能平滑地近似任意形状的密度分布。本文将详细探讨GMM及其参数...

    贴图yuv到yuv背景

    为了正确实现YUV贴图,我们需要理解YUV的颜色模型以及混合算法的数学原理。YUV的存储格式有多种,如YUV4:2:0、YUV4:2:2等,不同的格式会影响到像素处理的方式。此外,对于透明度的支持,可能还需要处理额外的alpha...

    使用DX实现一个简易的火焰效果

    5. **alpha混合(Alpha Blending)**:由于火焰具有透明度,我们需要使用alpha通道进行混合。DX提供了一种混合模式,允许我们合并具有透明度信息的像素,从而实现火焰与背景的融合。 6. **粒子系统(Particle ...

Global site tag (gtag.js) - Google Analytics