Alpha半透明图形叠加算法Matlab+Verilog实现
- UID
- 856476
|
Alpha半透明图形叠加算法Matlab+Verilog实现
Alpha图形叠加算法Matlab+Verilog实现1.1. Alpha算法的研究Alpha通道是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息,定义透明、不透明和半透明区域,其中黑表示全透明,白表示不透明,灰表示半透明[15]。
半透明混合算法目前在常用到的算法是AlphaBlend。其算法如下:假设一幅图象是A,另一幅透明的图象是B,那么透过B去看A,看上去的图象C就是B和A的混合图象,设B图象的透明度为alpha(取值为0-1,1为完全透明,0为完全不透明)。Alpha每个通道色彩混合公式如下:
R(x)、G(x)、B(x)分别指颜色x的RGB分量原色值。从上面的公式可以知道,Alpha其实是一个决定混合透明度的数值。改变这个 alpha 值可以得到一个渐变的效果。分离RGB色用"位与"、"移位"运算的方法。
透明的比例按2的N次幂来分级,这样可以快速运算。如果是按256级Alpha = 1/256,B图的权重 = (256-n)/256,则A图的权重= n/256,由式 6-1可以得到红色通道256级半透明算法:
1.2. Alpha算法实现1.2.1. Matlab代码% -----------------------------------------------------------------------% CONFIDENTIAL IN CONFIDENCE% This confidential and proprietary software may be only used as authorized% by a licensing agreement from CrazyBingo (Thereturnofbingo).% In the event of publication, the following notice is applicable:% Copyright (C) 2011-201x CrazyBingo Corporation% The entire notice above must be reproduced on all authorized copies.% Author : CrazyBingo% Technology blogs : http://blog.chinaaet.com/crazybingo % http://www.cnblogs.com/crazybingo % Eamil Address : thereturnofbingo@gmail.com% Filename : RGB_Alpha.m% Data : 2013-04-22% Version : 1.0% Description : Alpha Algorithm of 2 RGB Image.% Modification History :% Data By Version Change Description%=======================================================================% 13/04/22 CrazyBingo 1.0 Original% -----------------------------------------------------------------------clear all; %清除Matlab缓存数据% -----------------------------------------------------------------------% Read PC iamge to MatlabIMG1 = imread('E:\Matlab_Informati |
|
|
|
|
|