首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Alpha半透明图形叠加算法Matlab+Verilog实现

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
返回列表