碧波液压网 欢迎你,游客。 登录 注册

基于面积加权反走样算法的研究

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  直线扫描转换算法在处理非水平且非垂直的直线时会出现锯齿,这是因为直线在光栅扫描显示器上显示的图像是由一系列亮度相同而面积不为零的离散像素点构成的结果。这种使用离散 量 表 示 连 续 量 而 引 起 的 失 真 称 为 走 样(Aliasing)。用于减轻走样现象的技术称为反走样(Antialiasing)。走样是理想直线(理想直线宽度为零)光栅化后(真实像素点面积不为零)的必然结果。光栅扫描显示器显示的直线必定走样,走样现象不可避免,只能减轻。图 1 中黑色理想直线按照中点 Bresenham[1]算法扫描转换的结果为离直线最近的黑色像素点,这些黑色像素点代替理想直线在光栅扫描显示器上绘出。每当前一列所选的像素点和后一列所选的像素点位于不同扫描线时,在显示器上就会出现一个阶梯,直线发生走样。显然,只有对于水平线、垂直线和对角线,才不会出现这种阶梯现象。

  直线的反走样技术的一个应用领域是飞机座舱中的仪表盘。走样会使仪表盘指针发生变形,容易引起指示误差,导致飞行员判断失误。所以要通过一些必要的措施来减轻这种走样现象,以保证飞行器的安全。微软绘图软件Word绘图工具就使用了反走样技术。图 2为Word工具绘制的斜线放大64倍的效果图。图 3为Windows附件“画图”工具绘制的斜线放大64倍的效果图。从图 2中可以看出,反走样技术使用两行像素来绘制斜线,并且像素的灰度发生了变化,而未反走样的斜线图 3,只使用一行像素来绘制,并且斜线像素的灰度保持不变。可以看出,反走样技术的实质是利用人眼视觉原理,使用加权参数对显示像素的灰度级别进行调整,以产生模糊的边界,从而达到较好的视觉效果以减轻阶梯效应。加权参数可以选择距离、面积和体积等。

  反走样技术目前广泛应用于各类游戏中,如《古墓丽影:传奇》就使用了反走样技术。反走样技术也广泛应用在于各类图形软件中,如著名的图形软件Visio 2003中就使用了反走样技术。直线反走样常用的算法称为Wu算法,即下文介绍的基于距离加权的反走样算法[2]。该算法采用相邻的两个像素进行反走样处理,可以提高直线的显示质量,江修等人[3]为了提高飞机座舱显示系统的罗盘画面质量也提出了三像素宽反走样算法。但这些反走样算法不可避免地都存在直线变宽的问题,为此提出一种直线宽度不改变的基于面积加权反走样算法,获得了很好的反走样显示效果。

  1 基于距离加权的反走样算法

  1.1 算法原理

  

  距离加权反走样算法是采用空间混色原理来对直线进行修正[2]。空间混色原理指出,人眼对某一区域颜色的识别是取这个区域颜色的平均值。距离加权反走样算法原理是对于理想直线上的任一点,同时点亮两个以不同灰度级别显示的相邻像素。图 4 直线上的 1 点,可用像素点P1和像素点 P4按不同的灰度级别共同表示,像素点离直线越近,其灰度值越大,离直线越远,其灰度值就越小,但二者的灰度级别之和等于255。在 RGB(bRedbGreen,bBlue)函数中,当 bRed、bGreen、bBlue 3 个值的变化率不同时,出现彩色;当 bRed、bGreen、bBlue 的 3 个值变化率相同时,出现灰度。bRed、bGreen、bBlue3 个分量的值都在 0~255 之间,共有 256 种灰度级别,并且灰度值越大像素越亮,灰度值越小像素越暗。本算法将灰度级别规范化为闭区间

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论