2.7 光栅图形反走样基础

��Bresenham直线算法生成的直线图形一般都呈阶梯状(见图2.1),实际上,这是光栅图形的一种走样现象。这种走样现象是由于采用离散量表示连续量引起的。通常,我们把由离散量表示连续量引起的失真称为走样;把减少或克服走样效果的技术称为反走样技术,简称反走样。
��光栅图形的走样有如下几种:
��a) 产生阶梯或锯齿形;
��b) 细节或纹理绘制失真;
��c) 狭小图形遗失;
��d) 实时动画忽隐忽现、闪烁跳跃。
��当走样严重时,可能导致意外的结果。例如,考虑图2.6 a)和b)所示的信号,它们是两组完全不同的信号,对它们用同一频率进行采样(见图2.6中的黑点 ),重建后的信号却相同。图2.6 c)或d)是图2.6 a)信号的走样,也是图2.6 b)信号的走样。造成走样的原因是由于采样频率太低造成的欠采样。根据采样定理,为了避免走样,采样频率至少应是信号最高频率的2倍。对于小于像素尺寸的图形对象,一方面,如果它未能覆盖像素中用于计算其属性的像素中点,则这个对象将不会显示出来;另一方面,如果它覆盖了像素中用于计算其属性的那一点,它将不恰当地代表整个像素的属性。图2.7就是这样的一个例子。当在光栅设备上显示图2.7 a)所示的一组细长的多边形时,由于仅仅当像素中心被这些矩形覆盖时该像素才被显示,因此造成狭小的图形遗失、图形细节失真,其结果如图2.7 b)所示。在动画序列中,这种走样现象会导致图形时隐时现,产生闪烁。图2.8是一个小卡通动画序列中的三幅画。如果像素的属性由其中心决定,则在第一帧中,这个小卡通人是不可见的,在第二帧小卡通人可见,但第三帧又不可见。这样,小卡通人给人的感觉不是在缓慢地连续前进,而是一明一暗地在闪烁。
��为了提高图形质量,必须克服或减少走样现象。这就是本节研究的重点。
��光栅图形的反走样方法主要有两类:
  • 第一类是超采样或称后置滤波。这类算法的基本思想着眼于提高分辨率,虽然采用高分辨率的光栅图形显示器也是一个选择,但它受到客观条件的限制,而且也不经济。因此,我们往往采用软件实现的方法,即:将低分辨率的图形像素划分为许多子像素,在较高分辨率上对各子像素的颜色值或灰度值进行计算,然后采用某种平均算法,将原像素内的各子像素的颜色值或灰度值的平均值作为该像素显示的颜色值或灰度值,在较低分辨率的光栅图形设备上进行显示。
  • 第二类方法称为前置滤波。即:把像素作为一个有限区域而不是一个面积为零的点来处理。