图形学笔记2——反走样 (antialiasing)

原创 2007年10月11日 20:38:00

在光栅显示器上显示图形时,直线段或图形边界或多或少会呈锯齿状。原因是图形信号是连续的,而在光栅显示系统中,用来表示图形的却是一个个离散的象素。这种用离散量表示连续量引起的失真现象称之为走样(aliasing);用于减少或消除这种效果的技术称为反走样(antialiasing)。光栅图形的走样现象除了阶梯状的边界外,还有图形细节失真(图形中的那些比象素更窄的细节变宽),狭小图形遗失等现象。常用的反走样方法主要有:提高分辨率、区域采样和加权区域采样。

 

提高分辨率

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

 

区域采样

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

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

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

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


 加权区域取样

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

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

例如:我们将一个像素划分为n=3×3个子象素,加权表可以取作



【计算机图形学】过取样反走样与区域取样

过取样反走样与区域取样
  • MMogega
  • MMogega
  • 2016年11月07日 16:01
  • 1665

图形学中的贴图采样、走样与反走样等

计算机图形学中不可避免的会涉及到图像分析与处理的相关知识,前些时间也重温了下常用到的采样、重建以及纹理贴图等内容,并对其中的走样与反走样有了更多的认识,这里小结一下。 1. 基本问题 信号的采样与...
  • BugRunner
  • BugRunner
  • 2013年04月21日 00:36
  • 9840

图形学中的贴图采样、走样与反走样等

计算机图形学中不可避免的会涉及到图像分析与处理的相关知识,前些时间也重温了下常用到的采样、重建以及纹理贴图等内容,并对其中的走样与反走样有了更多的认识,这里小结一下。 1. 基本问题 信号的采...
  • u013467442
  • u013467442
  • 2014年11月14日 21:57
  • 1455

计算机图形学(三)_图元的属性_16_ 反走样_2_直线段的过取样

通过对有限宽线段进子示过取样,鉴别内部子像素比起简单地确定沿线路径的子像素需要更多的计算。我们同样要考虑相对于线路径的线边界的定位。这种定位取决于直线的斜率。对于45度的直线,线路径在多边形区域的中央...
  • heyuchang666
  • heyuchang666
  • 2016年11月03日 14:53
  • 722

图形学复习4——光栅化(画线画圆扫描线反走样算法)

图形学复习CH7 光栅化是将形式表示的几何图元转换为阵列表示的数据片元的过程,片元中每一个像素对应帧缓冲区中的每一个像素...
  • u014030117
  • u014030117
  • 2015年06月16日 21:46
  • 2528

图形学中的贴图采样、走样与反走样等

http://blog.csdn.net/bugrunner/article/details/8829438
  • natsu1211
  • natsu1211
  • 2014年05月14日 18:42
  • 1193

图形学中的贴图采样、走样与反走样等

计算机图形学中不可避免的会涉及到图像分析与处理的相关知识,前些时间也重温了下常用到的采样、重建以及纹理贴图等内容,并对其中的走样与反走样有了更多的认识,这里小结一下。 1. 基本问题 信号的采...
  • phoenixtree7
  • phoenixtree7
  • 2014年09月15日 08:25
  • 354

计算机图形学(三)_图元的属性_16_ 反走样_7_区域边界的反走样

区域边界的反走样  直线的反走样概念也可以用于区域的边界,从而消除其锯齿形的外貌。我们可以将这种程序加加入到扫描线算法中,在生成区域时来平滑区域轮廓。假如系统具有允许像素重定位的功能,那么就可以将边界...
  • heyuchang666
  • heyuchang666
  • 2017年01月11日 15:09
  • 493

图形学基础(2)——蒙特卡洛方法概述

什么是蒙特卡罗方法  许多事情在生活中太难以评估,特别是当它涉及非常大的数字。例如,计算一个国家的成年人口的平均高度,将需要测量每个人的身高,身高值相加除以总人数。但是非常明显这是不可能的,这样任务需...
  • qq_33274326
  • qq_33274326
  • 2017年03月07日 21:15
  • 870

零基础学图形学(2) 几何知识——点,向量,法向量

内容: 1. 点,向量,法向量 2. 坐标系统 3. 点和向量的数学操作 4. 矩阵 5. 矩阵介绍 6. 点和向量变换 7. 行向量和列向量 8. 矩阵操作 9. 球坐标系和三角函数 10. 创建矩...
  • WAN_EXE
  • WAN_EXE
  • 2017年10月30日 19:52
  • 155
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:图形学笔记2——反走样 (antialiasing)
举报原因:
原因补充:

(最多只允许输入30个字)