AVS加LOGO方法.doc

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AVS加LOGO方法

一.静态logo 可以通过AviSynth或VirtualDubMod加载静态logo;先讨论AviSynth方法: 处理背景色: 1.用colorkeymask滤镜; 2.用mask滤镜; 1.colorkeymask滤镜: (1)logo的选取 选择一定分辩率的图片,在图像编辑器里编辑好尺寸,尽量不要在脚本里用resize滤镜. (2)编写脚本 1若图片背景为纯白色,比如 脚本: quote: v1=AviSource(G:\Sample\AVI\s01.avi).converttorgb32 v2=ImageReader(G:\Sample\pics\p01.jpg).converttorgb24.flipvertical() v3=v2.converttorgb32.colorkeymask($FFFFFF,20) Layer(v1,v3,add,255,0,0) 解说: v1=AviSource(G:\Sample\AVI\s01.avi).converttorgb32 ? #以AviSource方式读取影片来源;改变成converttorgb32的颜色环境 v2=ImageReader(G:\Sample\pics\p01.jpg).converttorgb24.flipvertical() ? #以ImageReader方式读取logo来源;改变成converttorgb24的颜色环境,也可以写为converttorgb32;flipvertical()为翻转滤镜 v3=v2.converttorgb32.colorkeymask($FFFFFF,20) ? #将colorkeymask滤镜应用到logo ? Layer(v1,v3,add,255,0,0) ? #合并v1(影片),v3(logo);Layer函数中覆盖强度为255,图片主体不透明;图片坐标值为0,0,在左上角 colorkeymask滤镜的说明: colorkeymask(int color,int tolerance) int color:色彩深度---16进制: $xxxxxx,x取值为0-f; 10进制:0-255 ? ? ? ? ? ? ? ? int tolerance:取值0-255,在int color固定时,随int tolerance值的增大,图片趋向透明. colorkeymask($FFFFFF,40)中先固定int color为$FFFFFF,调节int tolerance使图像达到最佳效果,int tolerance值过小,背景色不能完全去掉;int tolerance值过大,导致主体颜色损失,此处为20.这里$FFFFFF若改为10进制数起不到去掉背景色的作用. 可见logo有一定的损失. 2若图片背景为其它纯色,比如 方法a.确定背景色的RGB数值,将int color用RGB的十六进制形式表示.(RGB三原色在WINDOWS有相应的值以16进制编译,定义了256种色彩深度即0-FF,但在SSA中是以BGR形式表示出来的.若R:46,G:139,B:87,则RGB:2E8B57,BGR:578B2E) 方法b.将背景色改为纯白色,修改办法在第2部分的mask滤镜方法中,修改后再按1加载. 下面讨论方法a 获得背景颜色代码的方法: 打开WINDOWS附件中的画图,点击工具栏里的取色,选择背景色;打开颜色菜单,编辑颜色,规定自定义颜色,得到R:152,G:115,B:211,即RGB: 9873D3,用BGR表示为BGR: D37398. 或打开Adobe Photoshop,点击工具栏里的吸管工具,也可以得到RGB的十进制数值. 转换为16进制的方法: 直接计算或打开Sub Station Alpha v4.08在Style Override中的colour规定自定义颜色,即可显示BGR数值,再转换为RGB形式即可. 脚本: quote: v1=AviSource(G:\Sample\AVI\s01.avi).converttorgb32 v2=ImageReader(G:\Sample\pics\p03.jpg).converttorgb24.flipvertical() v3=v2.converttorgb32.colorkeymask($9873D3,40) Layer(v1,v3,add,255,0,0) 注:colorkeymask($9873D3,40)中先固定int color为$9873D3,调节int tolerance到40去掉背景色;在去掉背景色后,int tolerance的值要尽量的小.

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档