反走样技术的研究
- 格式:doc
- 大小:716.09 KB
- 文档页数:15
反走样技术的研究摘要反走样技术是提高光栅图形显示质量的重要技术之一。
研究如何消除或减缓走样现象,给人视觉上产生更舒适光滑的图形,在图形界面已成为人机交互主流方式的今天,具有一定的应用价值。
在查阅了大量文献资料的基础上,本文从现有的反走样技术(如普通区域取样、普通过取样、加权过取样)入手,对反走样的理论基础和实现技术进行了分析研究。
普通区域取样是将直线看成具有一定宽度的狭小矩形,当直线与像素相交时,求出两者相交区域的面积,然后根据相交区域的面积来确定像素的亮度值,从而达到反走样效果。
而过取样是在提高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。
由于需要对每个像素进行处理,因此速度比区域取样明显慢了很多。
普通区域取样和过取样都是在整数坐标上进行的,而WU像素反走样算法采用了非整数坐标改进,视觉效果比前两者更好。
本文的研究重点在直线段反走样、曲线反走样和图像处理速度方面进行了研究和改进。
为了提高过取样的速度,充分利用直线段像素可能存在的多段相似性,算法对其中的一段进行反走样处理后,其余各段只要简单地复制即可,比普通过取样算法明显具有优势,速度提高了很多,也为并行处理提供了可能。
在现有的反走样文献中,对曲线反走样提及较少,本文对圆的反走样算法及实现进行了分析探讨,充分利用圆的八对称性,以加权过取样算法为基础在画圆的同时进行反走样。
第三方面的工作是如何提高编程实现速度,常用的一种技术是利用Pixels[]方法,它通过对像素点逐个进行处理,分别对红色、绿色、蓝色分量进行处理来实现图形的反走样。
这个方法虽然简单、直观,但处理速度缓慢。
通过对Delphi图像处理机制的分析及实验,提出了利用Scnaline方法的改进方案,使处理速度提高到Pixels[]方法的50倍左右。
关键词:反走样,区域取样,过取样本文由天空乐园大学生旅游网整理分享一、研究背景光栅图形显示器是目前使用最广泛的图形显示器,因为它具有以下优点:光栅扫描显示器具有固定的刷新顺序,扫描从屏幕的左上角开始,从左到右,从上到下的顺序进行刷新,从而刷新控制部件得以简化,节约了成本。
计算机科学技术:计算机图形学题库三1、名词解释扫描转换答案:在矢量图形中,多边形用顶点序列来表示,为了在光栅显示器或打印机等设备上显示多边形,必须把它转换为点阵表示。
这种转换称为扫描转换。
2、单选下面对光栅扫描图形显示器描述正确的是()A.荧光粉涂层均匀离散分布;B.是一种点画设备;C.电子束从顶到底扫描;D.通过控制电子束的强弱实现色彩的强弱;答案:A3、填空题计算机图形系统由()系统和软件系统组成。
答案:硬件4、填空题在处理图形时常常涉及的坐标系有模型坐标系(),世界坐标系,观察坐标系,设备坐标系。
答案:局部坐标系5、单选计算机图形学与计算机图象学的关系是()。
A.计算机图形学是基础,计算机图象学是其发展B.不同的学科,研究对象和数学基础都不同,但它们之间也有可转换部分C.同一学科在不同场合的不同称呼而已D.完全不同的学科,两者毫不相干答案:B6、问答题简述中点分割法进行裁剪的过程?答案:中点分割剪取法,主要是对线段不断地进行对分,并排除在区域外的部分,找出线段落在窗口内的部分。
其方法主要是通过求出离线段的一个端点最近并且在区域内的点的方法,来确定线段落在窗口内的端点。
7、问答题局部光照模型和全局光照模型的不同之处是什么?答案:局部光照模型主要是考虑光源发出的光对物体的直接影响。
另外,全局光照模型除了处理光源发出的光之外,还考虑其他辅助光的影响,如光线穿过透明或半透明物体,以及光线从一个物体表面反射到另一个表面等。
8、判断题彩色阴极射线管主要是由红绿蓝三个彩色电子束的亮度不同,进而组合形成各种色彩的。
答案:错9、问答题什么叫做走样?什么叫做反走样?反走样技术包括那些?答案:走样指的是用离散量表示连续量引起的失真。
为了提高图形的显示质量。
需要减少或消除因走样带来的阶梯形或闪烁效果,用于减少或消除这种效果的方法称为反走样。
其方法是①前滤波,以较高的分辨率显示对象;②后滤波,即加权区域取样,在高于显示分辨率的较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。
反走样的概念反走样是一种计算机图形学中的技术,是指在图像渲染过程中,为了减少图像中出现的锯齿状边缘,通过一定的算法将图像中出现的锯齿状边缘平滑化的过程。
锯齿状边缘的出现是由于基于像素渲染的方式是将每个像素点单独渲染的结果。
因此,当图像中的线条或者边缘不是水平或者垂直线条时,会出现一种“台阶状”的锯齿状边缘。
这些锯齿状边缘会影响到图像的细节和真实感,因此反走样技术的应用成为了图像渲染领域中的一项重要技术。
目前,反走样技术被广泛应用于电影、游戏等数字娱乐产业以及虚拟现实和增强现实应用中。
反走样技术的应用可以提高图像的质量,从而获得更好的视觉效果和真实感。
反走样技术的实现可以采用多种算法,包括简单线性插值、多重采样、超采样、抗锯齿过滤等。
以下分别介绍这些算法的原理和实现方式。
1. 简单线性插值算法简单线性插值算法是最简单的反走样算法之一。
它的原理是根据图像中相邻像素值的差异来计算处于它们之间的像素的值。
这个算法可以用下面的公式来表示:F(x,y) = A*(1-α)*(1-β) + B*α*(1-β) + C*(β)*(1-α) + D*α*β其中A、B、C、D 是相邻的四个像素,(α,β) 是当前像素相对于A、B、C、D 的位置。
由于相邻的像素值会根据位置进行线性插值,因此可以有效减少锯齿状边缘的出现,提高图像的平滑度。
但是,由于该算法只依赖于相邻像素值之间的插值,因此容易出现过渡不自然等问题。
2. 多重采样算法多重采样算法是一种常用的反走样算法。
该算法的原理是对每个像素进行多次采样,然后对采样的结果进行平均,从而得到更平滑的图像。
多重采样算法可以使用网格覆盖技术或随机采样技术来实现。
网格覆盖技术是将图像分成若干个网格,对每个网格进行多次采样,从而得到更好的像素值。
随机采样技术是随机在像素周围选择多个采样点,然后对采样点的值进行平均,从而得到更平滑的图像。
3. 超采样算法超采样算法是一种基于增加像素采样率的反走样算法。
名词解释:计算机图形学(CG)是利用计算机研究图形的表示、生成、处理、显示的学科。
或者说计算机图形学研究关于计算机图形对象的建模、处理与绘制等方面的理论和技术。
图形:计算机图形学的研究对象广义上讲,图形是指能在人的视觉系统中产生视觉印象的客观对象,它包括人眼观察到的自然景物、拍摄到的图片、绘图工具得到的工程图、用数学方法描述的图形等等。
即对图像、图片、绘图、照片、插图等的统称。
矢量图:由短的直线段(矢量)组成的图形(又叫线图、图形、Graphics )点阵图:由一系列点(象素)组成的图形(又叫点图、图像、Image)Virtual Reality 或称虚拟环境(Virtual Environment)是用计算机技术来生成一个逼真的三维视觉、听觉、触觉或嗅觉等感觉世界,让用户可以从自己的视点出发,利用自然的技能和某些设备对这一生成的虚拟世界客体进行浏览和交互考察。
齐次坐标:用n+1维向量表示一个n维向量.如n维向量(P1,P2, …,Pn)表示为(hP1,hP2, hPn,h),其中h称为哑坐标。
几何变换是指对图形的几何信息经过平移、比例、旋转等变换后产生新的图形,是图形在方向、尺寸和形状方面的变换。
错切变换也称剪切、错位、错移变换,用于产生弹性物体的变形处理。
复合变换又称级联变换,指对图形做一次以上的几何变换。
用户域:指程序员用来定义草图的整个自然空间(WD),也称为用户空间、用户坐标系。
是连续的、无限的。
窗口区:指用户指定用户域中输出到屏幕上的任一区域(Window)。
在计算机图形学中,是将在用户坐标系中需要进行观察和处理的一个坐标区域。
窗口区W小于或等于用户域WD,任何小于WD的窗口区W都叫做WD的一个子域。
目的是为了使规格化设备坐标系(NDC)上所显示的世界坐标中物体有一个合适的范围与大小。
将窗口内的图形在视区中显示出来,必须经过将窗口到视区的变换(Window-V iewport Transformation)处理,这种变换就是观察变换(V iewing Transformation)。
反走样算法分类反走样算法是计算机图形学中常用的一种技术,目的是在渲染图像时减少或消除走样现象,提高图像的质量和真实感。
走样是指在图像边缘或曲线处出现锯齿状的像素,使图像显得不平滑。
这种现象是由于数字图像是由离散的像素组成的,而图像中的边缘和曲线是连续的,因此在显示或打印时会出现走样现象。
为了解决走样问题,人们提出了各种反走样算法。
常见的反走样算法包括抗锯齿(Anti-aliasing)、多重采样(Multi-Sampling)、超采样(Supersampling)等。
这些算法通过在像素级别上对图像进行处理,使得图像边缘和曲线变得平滑,达到减少走样的效果。
抗锯齿是最常用的一种反走样算法。
它通过在图像边缘的像素周围添加中间色调的像素,使得边缘过渡更加平滑。
抗锯齿算法分为两种类型:区域抗锯齿和点抗锯齿。
区域抗锯齿是在像素的颜色值中使用灰度来模拟颜色的变化,从而实现平滑过渡;点抗锯齿是在像素的边缘周围添加额外的像素,使得边缘变得模糊,从而减少锯齿状的像素。
多重采样是一种更高级的反走样算法,它通过对每个像素进行多次采样,然后对这些采样结果进行平均,从而减少走样。
多重采样算法可以分为均匀采样和随机采样两种。
均匀采样是在每个像素上均匀采样多次,并对采样结果进行平均;随机采样是在每个像素上随机选择采样点,并对采样结果进行平均。
多重采样算法的优点是可以有效地减少走样,但计算复杂度较高。
超采样是一种更为精确的反走样算法,它通过对图像进行超高分辨率的渲染,然后将渲染结果缩小到目标分辨率,从而减少走样。
超采样算法可以分为平均超采样和加权超采样两种。
平均超采样是对超高分辨率的像素进行平均,然后将平均结果缩小;加权超采样是对超高分辨率的像素进行加权平均,然后将加权平均结果缩小。
超采样算法的优点是可以获得更高质量的图像,但计算复杂度较高。
除了以上常见的反走样算法,还有一些其他的反走样算法,如几何抗锯齿、滤波抗锯齿等。
这些算法在具体实现上可能有所不同,但都是为了解决走样问题而设计的。
反走样技术的研究摘要反走样技术是提高光栅图形显示质量的重要技术之一。
研究如何消除或减缓走样现象,给人视觉上产生更舒适光滑的图形,在图形界面已成为人机交互主流方式的今天,具有一定的应用价值。
在查阅了大量文献资料的基础上,本文从现有的反走样技术(如普通区域取样、普通过取样、加权过取样)入手,对反走样的理论基础和实现技术进行了分析研究。
普通区域取样是将直线看成具有一定宽度的狭小矩形,当直线与像素相交时,求出两者相交区域的面积,然后根据相交区域的面积来确定像素的亮度值,从而达到反走样效果。
而过取样是在提高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。
由于需要对每个像素进行处理,因此速度比区域取样明显慢了很多。
普通区域取样和过取样都是在整数坐标上进行的,而WU像素反走样算法采用了非整数坐标改进,视觉效果比前两者更好。
本文的研究重点在直线段反走样、曲线反走样和图像处理速度方面进行了研究和改进。
为了提高过取样的速度,充分利用直线段像素可能存在的多段相似性,算法对其中的一段进行反走样处理后,其余各段只要简单地复制即可,比普通过取样算法明显具有优势,速度提高了很多,也为并行处理提供了可能。
在现有的反走样文献中,对曲线反走样提及较少,本文对圆的反走样算法及实现进行了分析探讨,充分利用圆的八对称性,以加权过取样算法为基础在画圆的同时进行反走样。
第三方面的工作是如何提高编程实现速度,常用的一种技术是利用Pixels[]方法,它通过对像素点逐个进行处理,分别对红色、绿色、蓝色分量进行处理来实现图形的反走样。
这个方法虽然简单、直观,但处理速度缓慢。
通过对Delphi图像处理机制的分析及实验,提出了利用Scnaline方法的改进方案,使处理速度提高到Pixels[]方法的50倍左右。
关键词:反走样,区域取样,过取样本文由天空乐园大学生旅游网整理分享一、研究背景光栅图形显示器是目前使用最广泛的图形显示器,因为它具有以下优点:光栅扫描显示器具有固定的刷新顺序,扫描从屏幕的左上角开始,从左到右,从上到下的顺序进行刷新,从而刷新控制部件得以简化,节约了成本。
在光栅显示系统中,构成图形的最小图形元素是像素,这样只要计算屏幕上位于给定区域以内的所有像素,并且赋予一定的颜色,就完成了图形的绘制。
光栅显示器中的图形由像素构成,而每一个像素又可呈现出多级灰度或不同的颜色值,颜色丰富,显示出来的图形具有更好的视觉效果。
光栅扫描显示器是一个画点设备,与图形的复杂度无关,刷新频率固定,因此不会象随机扫描显示器那样出现闪烁现象,人眼看上去更舒服。
但光栅显示器也有它的缺陷,图形信号是连续的,而光栅显示系统中用来表示图形的却是一个个离散的像素。
用离散的像素来表示连续的图形时会出现失真,也就称为走样,如图1.1所示。
图1.1锯齿状边界光栅显示系统为何会出现走样呢?光栅图形显示器是一个画点设备,被显示的线段、字符、图形及背景色都按像素点一一存储在帧缓冲存储器中。
当我们要画一条直线时,它通常不可能完全精确地从一个可编址的像素点画一条直线到另一个可编址的像素点,只可能用尽可能靠近这条直线路径的像素点集来近似地表示这条直线。
显然只有画水平线、垂直线时,像素点集在直线路径上的位置才是准确的,其他情况下的直线均或多或少地存在阶梯状(锯齿状)的现象。
光栅图形的走样现象除了上述锯齿状边界外,还有图形细节失真,狭小图形遗失等现象。
图1.2 图形细节失真在光栅显示器上显示如图1.2(a)所示的细长矩形时,出现了图形细节失真,其结果如图1.2(b)所示,原细长的矩形被显示成了加宽的矩形。
图1.3 狭小图形的遗失由于光栅系统中表示图形的最小单位是一个像素,图形中那些比像素更窄的细节丢失了,这就出现了图形细节失真现象。
在图1.3中,一些狭小的图形分布在两条扫描线之间,由于它不覆盖任何一个像素中心,故不会被显示出来。
当这些狭小的图形进行运动时,覆盖像素中心时被显示出来,不覆盖像素中心时不被显示出来。
这样在运动的过程中时隐时现,产生闪烁。
为了提高图形的显示质量,需要减少或消除上述走样现象。
用于减少或消除这种走样现象的技术,称为反走样(Antialiasing)。
研究如何消除或减缓这类走样现象,给人视觉上产生更舒适光滑的图形,在图形界面已成为人机交互主流方式的今天,具有一定的应用价值。
反走样技术能提高图形的显示质量,因此在很多画图软件中也采用了这种技术。
优软电脑有限公司设计推出的新一代绘画程序---优软精灵画笔 2.0,在原有的各种绘画功能上,添加了一系列全新设计的绘画工具;可以打开外来JPG,TAG,TIFF,GIF,BMP文件;更新三维立体窗口系统;对压力感应笔高效率支持,速度和流畅度达到专业软件水准,让用户的体会更加细腻逼真。
它的精妙之处在于具有细笔尖反走样功能,所以使细笔画更细致更漂亮。
反走样技术不仅能提高图形显示质量,而且在反走样汉字方面也有很好的效果。
由于汉字的笔画很多,而且大多数非水平非垂直,也会产生较严重的走样现象。
图1.4中第1 个字为追踪出的轮廓,第2 个为显示的原始矢量字符。
第3 个为反走样处理后的矢量字符。
图1.4矢量字体轮廓的反走样由此可见,反走样技术在实际应用中有十分重要的意义。
另外, 在处理纹理图形, 以及在动画中闪烁的细小物体图形等问题中反走样技术都得到了广泛运用。
二、反走样技术概述在光栅显示器上显示图形时,直线段或图形边界或多或少会呈锯齿状。
原因是图形信号是连续的,而在光栅显示系统中,用来表示图形的却是一个个离散的象素。
这种用离散量表示连续量引起的失真现象称之为走样(aliasing),走样是伴随着光栅显示系统而出现的,也是数字化的必然产物。
用于减少或消除这种效果的技术称为反走样(antialiasing)。
第一章中已经介绍了光栅图形的走样现象除了阶梯状的边界外,还有图形细节失真(图形中的那些比象素更窄的细节变宽),狭小图形遗失等现象。
常用的反走样方法主要有:提高分辨率、区域采样和加权区域采样等。
下面将对他们进行介绍。
2.1 过取样技术反走样的方法很多,一种简单的反走样方法是以较高的分辨率显示对象,如图2.1。
假设把显示器分辨率提高一倍,直线经过两倍的象素,锯齿也增加一倍,但同时每个阶梯的宽度也减小了一倍,所以显示出的直线段看起来就平直光滑了一些。
这种反走样方法是以4倍的存储器代价和扫描转换时间获得的。
因此,增加分辨率虽然简单,但是不经济的方法,而且它也只能减轻而不能消除锯齿问题。
但是它的思想给我们以后的反走样方法一定的启示。
图2.1 提高显示分辨率一种可行的反走样方法:在较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。
这种技术称为过取样(Supersampling),或后滤波(Postfiltering)。
该技术是把显示器看成是比实际更细的网格来增加取样率,然后根据这种更细的网格使用取样点来确定每个屏幕像素合适的亮度等级。
反走样的另一种方法是根据图形对象在每个像素点上的覆盖程度率来确定像素点的亮度,这种计算覆盖率的反走样技术称为区域取样(Area Sampling),或前滤波(Prefiltering)。
2.1.1 提高分辨率方法过取样方式的一个简单实现是用较高的分辨率进行计算,如图2.2,在x方向和y 方向上把分辨率提高一倍,使每个像素都对应4个子像素,然后扫描转换求得各子像素的颜色亮度,在对4个像素的颜色亮度进行平均,得到较低分辨率下的像素颜色亮度。
由于像素中可供选择的子像素最大数目是4,因此,该例中提供的亮度等级数是5。
如图2.2中,编号为1和7的像素亮度级别是1,编号为2,3,4,5和6的像素亮度是2。
通过这个方法为图中的每个像素设定不同的灰度值,可以使显示出来的直线看起来平滑一些,达到减少走样现象。
6 753 41 2图2.2 简单的过取样方式2.1.2基于加权模板的过取样另一种过取样方式(重叠过取样),如图2.3,假设显示器分辨率为m*n,其中m=4,n=3,首先把显示窗口划分为(2m+1)*(2n+1)个像素,然后通过扫描转换求得各子像素的颜色值,在对为于子像素中心及四周的9个子像素的颜色值进行平均,最后得到显示像素的颜色亮度值。
由于接近像素区域中心的子像素在决定像素的颜色亮度值中发挥着重要的作用,因此过取样算法中采用了加权平均的方法来计算显示像素的颜色亮度值(基于加权模板的过取样)。
图2.4示出了3*3像素分割常采用的加权模板。
中心子像素的权是角子像素的4倍,是其他子像素的2倍,中心子像素的加权系数是1/4,顶部和底部及两侧子像素的加权系数是1/8,而角子像素的加权系数是1/16。
图2.3 另一种过取样方式图图2.4 加权模板2.1.3过取样算法过取样的一种简单方法就是在较高的分辨率下进行计算,扫描转换求得各子像素的颜色亮度,然后对子像素的颜色亮度进行平均,得到较低分辨率下的像素颜色亮度。
由于接近像素区域中心的子像素在决定像素的颜色亮度值中发挥着重要的作用,因此过取样的另一种算法采用了加权平均的方法来计算显示像素的颜色亮度值。
不管是哪一种方法都需要在内存中建立一个比现在大几倍的图,便于对像素取样,取得像素的亮度值。
2.2区域取样2.2.1简单的区域取样直线段扫描转换算法均假定像素是数学上的一个点,像素颜色是由对应于像素中心的图形中一点的颜色决定的;并且直线段是数学上抽象的直线段,它的宽度是0。
但实际上像素不是一个点,而是一个有限区域。
屏幕上所画的直线不是数学意义上的无宽度的理想线段,而是一个宽度至少为一个像素单位的线条。
算法中所假定的条件和实际情况之间的差距是造成走样的原因之一。
为了减少走样,必须改变直线段的模型,从而得到了简单区域取样的方法,这个方法的具体步骤是:(1)将直线看成具有一定宽度的狭小矩形;(2)当直线与像素相交时,求出两者相交区域的面积;(3)根据相交区域的面积,确定像素的亮度值;图2.5 具有一定宽度的直线 图2.6 灰度与面积成比例通过将每个像素亮度设置成与线条部分重叠的区域面积成正比,可以完成对直线的区域取样。
若一个像素与线条部分重叠,根据重叠区域面积的大小来选择不同的灰度。
重叠面积大的像素黑一点,重叠面积小的像素白一点。
这种方法将产生模糊的边界,以次来减轻锯齿效应。
图2.5是待显示的直线段,图2.6是采用简单区域取样方法绘制的结果。
这个方法中,起关键作用的是直线段与像素相交区域面积的计算。
那么相交区域如何计算呢?假设一条直线的斜率是m ,若规定它的显示宽度是一个像素,那么直线和像素的相交有如下三种情况,如图所示。
其中(c )的计算可转化为正方形面积减去两个三角形面积。
接下来介绍(a )和(b )两种情况。