第7讲 走样与反走样及字符处理.ppt

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

第7讲 走样与反走样 和字符处理 走样现象 走样(aliasing) 用离散量(像素)表示连续的量(图形)而引起的失真,称为走样,或称为混淆 光栅图形的走样现象 阶梯(锯齿)状边界 图形细节失真 狭小图形遗失:动画序列中时隐时现,产生闪烁 (1)阶梯状的图形边界 像素间距大 (2)图形细节失真 显示图形的最小单位为像素 细长的矩形显示后成了加宽的矩形 更细的矩形将丢失 (3)狭小图形的遗失与动态图形的闪烁 多边形分布在像素间,不覆盖像素 中心,不被显示 狭小图形运动时,会间隔覆盖像素 的中心,产生闪烁 反走样方法 反走样(antialiasing) 在图形显示过程中,用于减少或消除走样(混淆)现象的方法 方法 提高分辨率方法 非加权区域采样 加权区域采样 (1)提高分辨率的反走样方法 方法简单,但代价非常大 (2)非加权区域采样方法 扫描转换线段的两点假设 像素是数学上抽象的点,它的面积为0,它的亮度由覆盖该点的图形的亮度所决定 直线段是数学上抽象直线段,它的宽度为0 现实 像素的面积不为0; 直线段的宽度至少为1个像素; 假设与现实的矛盾是导致走样出现的原因之一 方法性质 直线段对一个像素亮度的贡献与两者相交区域的面积成正比 当直线段和某个像素不相交时,它对该像素的亮度无影响 相同面积的相交区域对像素的亮度贡献相同,而与这个相交区域落在像素内的位置无关 计算相交区域的面积 求相交区域的近似面积的离散计算方法 将屏幕像素分割成 n 个更小的子像素; 计算中心点落在直线段内的子像素的个数,记为 m, m/n 为线段与像素相交区域面积的近似值 例 存在的不足 像素的颜色或灰度值与相交(覆盖)区域的面积成正比,而与相交区域落在像素内的位置无关,仍会导致锯齿效应 沿理想直线方向的相邻两个像素的颜色或灰度值会有较大差异 (3)加权区域采样方法 权函数w(x, y) 以像素A的中心为原点建立二维坐标系 w(x, y)反应了微面积元dA对整个像素亮度的贡献大小 ,与 dA 到像素中心距离d 成反比。 高斯函数 离散计算方法 1.将屏幕像素均匀分割成m个子像素 ,则每个子像素的面积为 计算每个子像素对原像素亮度的贡献,记为? 将 保存在一张加权表中 2.求出所有中心落于直线段内的子像素,记为 3.计算所有这些子像素对原像素亮度贡献之和 。 该值乘以像素的最大灰度值即为像素的显示灰度值 w(x, y)是一个经验函数,对应的 也是经验值 w(x, y)可以用加权表M表示,取法有 M=3×3 M=5×5 例 OpenGL实例 OpenGL函数 函数 启动反走样:glEnable(),参数为GL_POINT、GL_LINE_SMOOTH或GL_POLYGON_SMOOTH 质量控制:glHint(GLenum target, GLenum hint ), 参数target为:GL_POINT_SMOOTH_HINT、GL_LINE_SMOOTH_HINT、GL_POLYGON_SMOOTH_HINT 等 参数hint为GL_FASTEST、GL_NICEST、GL_DONT_CARE 启动混合: glEnable(GL_BLEND) 选择混合因子:glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);(还有其它选择) 程序例 字符 字符指数字、字母、汉字等符号。 计算机中字符由一个数字编码唯一标识。 国际上最流行的字符集:“美国信息交换用标准代码集”,简称ASCII码。它是用7位二进制数进行编码表示128个字符;包括字母、标点、运算符以及一些特殊符号。 汉字编码的国家标准字符集:“中华人民共和国国家标准信息交换编码”GB2312-80。该字符集共收集字符7445个,其中国标一级汉字3755个,国标二级汉字3008个,其余符号682个,每个字符由一个区码和一个位码共同标示。 为了能够区分ASCII码与汉字编码,采用字节的最高位来标识:最高位为0表示ASCII码;最高位为1表示表示汉字编码。 字库 为了在显示器等输出设备上输出字符,系统中必须装备有相应的字库 字库中存储了每个字符的形状信息 字库分为矢量型和点阵型两种,相应存储着矢量字符和点阵字符 点阵字符 字符利用掩膜来定义,并将其写入帧缓冲器保存和显示。字符掩膜是包含表示该字符的像素图案的一小块光栅点阵。该点阵中的某位为1表示字符的笔画经过此位,对应于此位的象素应置为字符颜色。某位为0表示字符的笔画不经过此位,对应于此位的象素应置为背景颜色。 在实际应用中,有多种

文档评论(0)

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

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

1亿VIP精品文档

相关文档