反走样技术

百科:反走样

 

在光栅图形显示器上绘制非水平且非垂直的直线或多边形边界时,或多或少会呈现锯齿状或台阶状外观。这是因为直线、多边形、色彩边界等是连续的,而光栅则是由离散的点组成,在光栅显示设备上表现直线、多边形等,必须在离散位置采样。由于采样不充分重建后造成的信息失真,就叫走样(aliasing)。而用于减少或消除这种效果的技术,就称为反走样(antialiasing)。

  计算机生成图像时通常存在三种走样现象中的两种:锯齿形边以及图形细节或纹理绘制失真。第三种现象出现在显示非常微小对象的场合。

  基本上反走样方法可分为两类。

      第一类是提高分辨率 即增加采样点(提高采样频率)。这种方法称为超采样或后置滤波。

      另一类反走样是把像素作为一个有限区域,对区域采样来调整像素的亮度,以光顺边界来减小锯齿现象。这种方法等价于图像的前置滤波。又可以分为区域采样和加权区域采样。

 


提高分辨率

把显示器分辨率提高一倍,直线经过两倍的象素,锯齿也增加一倍,但同时每个阶梯的宽度也减小了一倍,所以显示出的直线段看起来就平直光滑了一些。这种反走样方法是以4倍的存储器代价和扫描转换时间获得的。因此,增加分辨率虽然简单,但是不经济的方法,而且它也只能减轻而不能消除锯齿问题。

 


区域采样

区域采样方法假定每个象素是一个具有一定面积的小区域,将直线段看作具有一定宽度的狭长矩形。如下图

 

当直线段与象素有交时,求出两者相交区域的面积,然后根据相交区域面积的大小确定该象素的亮度值。 有时为了简化计算可以采用离散的方法。首先将屏幕象素均分成n个子象素,然后计算中心点落在直线段内的子象素的个数k。最后将屏幕该象素的亮度置为最大灰度值乘以相交区域面积的近似值k/n。

如下图,n=9, k=3的情形,近似面积为1/3

 

非加权区域采样方法有两个缺点:(1)象素的亮度与相交区域的面积成正比,而与相交区域落在象素内的位置无关,这仍然会导致锯齿效应。(2)直线条上沿理想直线方向的相邻两个象素有时会有较大的灰度差。

 


 加权区域取样

为了克服上述两个缺点,可以采用加权区域取样方法,使相交区域对象素亮度的贡献依赖于该区域与象素中心的距离。

首先将象素均匀分割成n个子象素。则每个象素的面积为1/n。计算每个子象素对原象素的贡献,并保存在一张二维的加权表中。然后求出所有中心落于直线段内的子象素。最后计算所有这些子像素对原像素亮度贡献之和∑wi的值,该值乘以最大灰度值作为该象素的显示灰度值.

 

以上内容部分转自touzani的专栏

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值