alpha和colorkey

alpha和colorkey
⼀、alpha
1.透明度,⼀般取值0-255
2.Alpha 通道
Alpha 通道是为保存选择区域⽽专门设计的通道。在⽣成⼀个图像⽂件时,并不必须产⽣ Alpha 通道。通常它是由⼈们在图像处理过程中⼈为⽣成,并从中读取选择区域信息的。因此在输出制版时, Alpha 通道会因为与最终⽣成的图像⽆关⽽被删除。但也有时,⽐如在三维软件最终渲染输出的时候,会附带⽣成⼀张 Alpha 通道,⽤以在平⾯处理软件中作后期合成。除了 photoshop 的⽂件格
式 PSD 外, GIF 与 TIFF 格式的⽂件都可以保存 Alpha 通道。⽽ GIF ⽂件还可以⽤ Alpha 通道作图像的去背景处理。因此,我们可以利⽤ GIF ⽂件的这⼀特性制作任意形状的图形。
3.Alpha通道的概念与功能
 在计算机图形学中,⼀个RGB颜⾊模型的真彩图形,⽤由红、绿、蓝三个⾊彩信息通道合成的,每个通道⽤了8位⾊彩深度,共计24位,包含了所有彩⾊信息。为实现图形的透明效果,采取在图形⽂
件的处理与存储中附加上另⼀个8位信息的⽅法,这个附加的代表图形中各个素点透明度的通道信息就被叫做Alpha通道。
Alpha通道使⽤8位⼆进制数,就可以表⽰256级灰度,即256级的透明度。⽩⾊(值为255)的Alpha像素⽤以定义不透明的彩⾊像素,⽽⿊⾊(值为0)的Alpha通道像素⽤以定义透明像素,介于⿊⽩之间的灰度(值为30-255)的Alpha像素⽤以定义不同程度的半透明像素。因⽽通过⼀个32位总线的图形卡来显⽰带Alpha通道的图形,就可能呈现出透明或半透明的视觉效果。
3.1.⼀个透明或半透明图形的数学模型应当如下:
为了便于下⾯的分析,设Alpha值[0,255]区间映射为[0,1]区间相对应的值表⽰,即Alpha值为0—1之间的数值。则图形⽂件中各个像素点可表⽰为:
Graphx(Redx,Greenx,Bulex,Alphax)
屏幕上相应像素点的显⽰值就转换为:
Dispx(Redx*Alphax,Greenx*Alphax,Bluex*Alphax)
Alpha通道不仅⽤于单个图形的透明或半透明显⽰,更重要的是在图像合成中被⼴泛运⽤。
4.根据Alpha通道数据进⾏图像混合的算法:
事实上,我们把需要组合的颜⾊计算出不含Alpha分量的原始RGB分量然后相加便可。如:两幅图像分别为A和B,由这两幅图像组合⽽成的图像称为C,则可⽤如下四元组表⽰图A和B,三元组表⽰图像C:
A:(Ra,Ga,Ba,Alphaa)
B:(Rb,Gb,Bb,Alphab)
C:(Rc,Gc,Bc)
根据上述算法,则:
Rc=Ra*Alphaa+Rb*Alphab
Gc=Ga*Alphaa+Gb*Alphab
Bc=Ba*Alphaa+Bb*Alphab
这就是两图像混合后的三原⾊分量。如果有多幅图像需要混合,则按照以上⽅法两幅两幅地进⾏混合。
5.图像处理软件Photoshop中的Alpha通道
在图像处理软件Photoshop中,通道是⼀个最为基本的概念,颜⾊通道代表了该图像的主要⾊彩信息,附加通道有⽤于印刷的专⾊通道和存储、修改选取区域的Alpha通道。
通常情况下,单独创建的新通道就是Alpha通道,这个通道并不存储图像的⾊彩,⽽是将选择域作为8位灰度图像存放并被加⼊到图像的颜⾊通道中。因⽽Alpha通道的内容代表的不是图像的颜⾊,⽽是选择区域,其中的⽩⾊表⽰完全选取区域,⿊⾊为⾮选取区域,不同层次的灰度代表不同的选取百分率,最多可有256级灰阶。
对Alpha通道内容的操作,即是创建、存储、修改我们所需要的选取区域。如在⽬标图层上载⼊该选区(即运⽤该Alpha通道)便可实现任意层次的选取。通过多个Alpha通道之间的计算或Alpha通道与图层的合成便能够产⽣许多特殊的效果。因此,Alpha通道功能可以说是Photoshop编辑合成多媒体作品中所使⽤的背景图⽚、主题图⽚、按钮、导航标志等素材的⼀⼤法宝。
6.Alpha通道在动画创作软件中的应⽤
Alpha通道⽆论是在⼆维动画软件还是三维动画软件中都有⼴泛的应⽤。
⼤家熟知的3DMAX动画软件中提供了动画作品后期合成的⼯作环境(即VIDEO POST),利⽤VIDEO POST的图像合成功能可以实现⼀次处理许多不同层次的图像⽂件与动画场景合成的设定。其中使⽤最频繁的合成⽅式Alpha  composing就是靠Alpha通道来实现的。
3DMAX能根据⽂件的输出格式产⽣包含Alpha通道的32位⽂件格式(特别是32位的Targa图像⽂件)。当进⾏渲染时,任何不含物体的区域的Alpha值为0,实⾊的物体的Alpha值为255,⽽透明材质的Alpha值介于0~255间。利⽤3DMAX的这⼀特性可在该软件或其它软件中实现各种透明重叠的图像或动画效果。
Flash⽮量动画中同样具有Alpha通道功能的运⽤。Alpha是Flash动画场景中图形符号(graphic)的⼀个主要属性,改变其值(0~100之间)便可改变对象符号的透明程度。如在各关键帧设定某图形符号以不同的Alpha值,则该图形符号就呈现出动态变化的透明效果。通过编写动作脚本(Action scripting),⽤户交互式地改Alpha值,更能使动画作品⽣动有趣。
7.利⽤Alpha通道在视频编辑软件中实现⾼叠轨道的透明合成
在视频处理软件中,通常要将多个视频⽚段按照要求重叠在⼀起形成透明或半透明效果。Premiere电影编辑软件⾥提供了多达97个视频⾼叠轨道⽤以实现影像⽚段的合成。在⾼叠⽚段的video Option命令中有⼀个专门⽤于合成的透明设置选项Transparency,它提供了许多key Type基本(透明)类型。
其中Alpha channel key就是利⽤影像或图⽚的Alpha通道在⽚段上选定区域形成透明效果。
⼀些影视创作⼈员在节⽬编辑中,为了把⼴告的图标、报道题花等图案作为标记或栏⽬标题叠加在画⾯上,使⽤Photoshop、3DMAX或Cool3d等软件⽣成带Alpha通道的32位TGA图⽚或图⽚序列,在⾮编系统软件中运⽤Alpha channel key功能实现标题字幕或图标的⾼叠。
8. Alpha通道在多媒体集成⼯具Authorware中的运⽤
Authorware5.0以前的版本中的图⽚只有五种透明⽅式:为Opaque mode(不透明模式)、Matted mode(边缘透明模式)、Transparent mode(透明模式)、Inverse mode(反转模式)、Erase mode(擦除模式)。这些透明⽅式的共同问题是只能透明⽩⾊部分⽽且要纯⽩的才可以,也⽆法实现制作半透明的图⽚。Authorware5.0及其以后的版本已⽀持Alpha通道作为图⽚的透明⽅式。利⽤图⽚的Alpha通道,信息可精确地透明相应画⾯的每⼀个部分,产⽣⼗分完美的透明或半透明效果。尤其是,使⽤其它⼯具完成的半透明图⽚是静⽌的,⽽且图⽚中各个部分位置是固定的,⽽在Authorware中通过Alpha透明模式结合Transitions过渡属性和位置移动动画设置实现的半透明合成可以动态地进⾏,不但可以任意改变各部分的位置,⽽且还可以任意调整各部分⼤⼩,其操作的灵活性和效果的丰富性是可想⽽知的。
笔者曾在使⽤Authorware5.0模拟汉字书写笔画的教学课件中运⽤Alpha通道技术,取得了很好的效果。
以“⽊”字为例。楼宇对讲门禁系统
第⼀步,利⽤Photoshop5.0做好如下四张图⽚,分别命名为“⽊1.psd”、“⽊2.psd”、“⽊3.psd”和“⽊4.psd”。四张图⽚内容完全⼀样,只是Alpha通道不同。
侧安全气囊
第⼆步,将四张图⽚载⼊Authorware5.0⽂档中按如下安排显⽰顺序:阳光天井
第三步,设置所有显⽰图标都为Alpha mode透明⽅式以呈现相应笔画,并设置各显⽰图标适当的Transition过渡⽅式,以展⽰各笔画正确的书写过程。图标“⽊1.psd”选取Transition属性为Wipe中的Wipe Right,图标“⽊2.psd”选取Wipe中的Wipe Down,图标“⽊3.psd”选取Stirps 中的Strips on Top,Build Left,图标“⽊4.psd”选取Strips中的Strips on Top,Build Right。为使效果更准确,图标间可添加⼀个等待图标,保证笔画之间有⼀定时间间隔或通过点击⿏标来控制书写速度。
10.opengl ⾥⾯,alpha值通常是在激活了混合操作之后起作⽤的。⽤来将已经处理过的⽚元颜⾊值与存储在帧缓存中的像素颜⾊值结合起来。如果不进⾏混合操作,每个新的⽚元都将被opengl当成是不透明的,覆盖掉已经存在的所有颜⾊值。利⽤混合操作可以实现半透明等状态。可以这样看alpha值,将⽚元的RGB分量考虑为对颜⾊的表⽰,⽽将alpha值分量考虑为颜⾊的不透明度。
9.结束语
Alpha通道技术本⾝并不复杂,但其运⽤上的创意是⽆限的。不断总结在多媒体课件作品开发中运⽤Alpha通道技术的途径以提⾼作品技术质量、增强作品艺术感染⼒,是⼀个永⽆⽌境的课题。
⼆、colorkey
1.⼤图像A是1920x1080⼤⼩,在上⾯贴⼀个⼩图像300x200(称为图像B,作为OSD),⼀般这个osd的数据结构可能是:
struct osd_type {
void *raster;          //图像点阵
int alpha;              //0到100的透明度
int colorkey;          //colorkey值
int flag;                //标记(alpha或colorkey使能)聚磷酸铵阻燃剂
};(这个数据结构是我想象出来的,不要对号⼊座,⼋九不离⼗吧)
flag ⽐如设置为 ENABLE_ALPHA | ENABLE_COLORKEY,colorkey为0xffffff(⽩⾊),alpha为50
usb 声卡
%;
那么实际效果是:osd的0xffffff全部过滤掉,其它地⽅显⽰50%亮度。
2.如图,⼩⼈的背景是青⾊的(R:0,G:FF,B:FF),那么我们现在要将⼩⼈背景透明化,则现在的color key就是青⾊的。
3.Colorkey技术是作⽤在两个图像叠加混合的时候,对特殊⾊做特殊过滤,符合条件的区域叫match区,在match区就全部使⽤另外⼀个图层的颜⾊值,不符合条件的区域就是⾮match区,⾮match区就是⾛普通的alpha混合。Alpha值越⼤就是越不透明。甘蔗去皮机
转载⾃:

本文发布于:2024-09-23 13:24:46,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/214902.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:通道   透明   图像   实现   半透明   软件   动画   图形
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议