由上一篇最后我们讲到,通过采样的方法来判断像素的中心点是否在三角形内部,得到这些在内部的点,然后填充上像素后得到的结果有着明显的锯齿,这种现象可以称为走样。
我们知道,我们播放的视频也是一帧一帧叠加而成的,也就是说视频在时间也不是连续的,这里也有采样的思想,我们所看到的动画视频等等就是在时间上的采样结果。可以看出,采样是广泛存在的,同样的像上图出现锯齿(一个方面)这样的问题也是广泛存在的。通常,我们将这些采样出现的问题叫做采样瑕疵(Sampling Artifacts)。除了出现锯齿的问题之外,还会出现什么问题呢?我们发现当我们用手机拍电脑或者电视屏幕时,我们在手机上看到的图像,会出现很多额外的波纹,而且还比较明显,这种波纹被称作摩尔纹(Moire pattern),出现摩尔纹的原因是像素的空间频率与影像中条纹的空间频率接近,这时候就会产生。还有在生活中,当我们在高速公路上,看别的车的车轮时,会发现车轮好像在倒着转的现象,这种现象被称为车轮错觉(Wagon Wheel illusion),这是因为人眼在时间中的采样跟不上运动的速度所造成的结果。其实出现这次现象的,底层原因就是信号变化太快,采样跟不上其变化的速度。
对于锯齿问题来说,我们该怎样去抗锯齿,或者说怎么去反走样呢?我们给出一种方法,对于一个三角形,我们首先对其进行模糊处理(滤波),然后再进行采样,我们得到的点会像如下图所示的样子,点离中心位置越近,颜色越明显,越远则越模糊。
这样操作后的效果经对比有比较明显的差异,右图是处理后的结果。如果是先采样再进行模糊处理的话效果就达不到我们所预期的那样。