光栅图形显示质量之反走样技术的研究与实现
无需注册登录,支付后按照提示操作即可获取该资料.
摘要
反走样技术是提高光栅图形显示质量的重要技术之一。研究如何消除或减缓走样现象,给人视觉上产生更舒适光滑的图形,在图形界面已成为人机交互主流方式的今天,具有一定的应用价值。
在查阅了大量文献资料的基础上,论文从现有的反走样技术(如普通区域取样、普通过取样、加权过取样)入手,对反走样的理论基础和实现技术进行了分析研究。普通区域取样是将直线看成具有一定宽度的狭小矩形,当直线与像素相交时,求出两者相交区域的面积,然后根据相交区域的面积来确定像素的亮度值,从而达到反走样效果。而过取样是在提高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。由于需要对每个像素进行处理,因此速度比区域取样明显慢了很多。普通区域取样和过取样都是在整数坐标上进行的,而WU像素反走样算法采用了非整数坐标改进,视觉效果比前两者更好。
本文的研究重点在直线段反走样、曲线反走样和图像处理速度方面进行了研究和改进。为了提高过取样的速度,充分利用直线段像素可能存在的多段相似性,算法对其中的一段进行反走样处理后,其余各段只要简单地复制即可,比普通过取样算法明显具有优势,速度提高了很多,也为并行处理提供了可能。在现有的反走样文献中,对曲线反走样提及较少,本文对圆的反走样算法及实现进行了分析探讨,充分利用圆的八对称性,以加权过取样算法为基础在画圆的同时进行反走样。第三方面的工作是如何提高编程实现速度,常用的一种技术是利用Pixels[]方法,它通过对像素点逐个进行处理,分别对红色、绿色、蓝色分量进行处理来实现图形的反走样。这个方法虽然简单、直观,但处理速度缓慢。通过对Delphi图像处理机制的分析及实验,提出了利用Scnaline方法的改进方案,使处理速度提高到Pixels[]方法的50倍左右。
关键词:反走样,区域取样,过取样
Abstract
Aliasing Problems and Anti-Aliasing Techniques are technical terms of computer graphics. Especially in the raster display system, Aliasing is very common. The study of how to remove or retard Aliasing, so as to make the graphs smoother and more comfortable in people’s vision has owned a certain applied value nowadays when the graphic interface has become the mainstream of the man-machine interactive.
The paper begins with the existent Anti-Aliasing Techniques, then brings out several kinds of Anti-Aliasing Techniques among them after consulted a large number of literatures, such as Area Sampling, Super Sampling, and Super Sampling with weight. Meanwhile, through the teacher’s guidance, I make some improvement of the algorithm, and bring out the line algorithm based on the multi-segment Anti-Aliasing, Anti-Aliasing of Circle .
Keywords: Anti-Aliasing, Area Sampling Line, Super Sampling Line
研究背景
光栅图形显示器是目前使用最广泛的图形显示器,因为它具有以下优点:光栅扫描显示器具有固定的刷新顺序,扫描从屏幕的左上角开始,从左到右,从上到下的顺序进行刷新,从而刷新控制部件得以简化,节约了成本。在光栅显示系统中,构成图形的最小图形元素是像素,这样只要计算屏幕上位于给定区域以内的所有像素,并且赋予一定的颜色,就完成了图形的绘制。光栅显示器中的图形由像素构成,而每一个像素又可呈现出多级灰度或不同的颜色值,颜色丰富,显示出来的图形具有更好的视觉效果。光栅扫描显示器是一个画点设备,与图形的复杂度无关,刷新频率固定,因此不会象随机扫描显示器那样出现闪烁现象,人眼看上去更舒服。
简单的区域取样
直线段扫描转换算法均假定像素是数学上的一个点,像素颜色是由对应于像素中心的图形中一点的颜色决定的;并且直线段是数学上抽象的直线段,它的宽度是0。但实际上像素不是一个点,而是一个有限区域。屏幕上所画的直线不是数学意义上的无宽度的理想线段,而是一个宽度至少为一个像素单位的线条。算法中所假定的条件和实际情况之间的差距是造成走样的原因之一。为了减少走样,必须改变直线段的模型,从而得到了简单区域取样的方法,这个方法的具体步骤是:
(1)将直线看成具有一定宽度的狭小矩形;
(2)当直线与像素相交时,求出两者相交区域的面积;
(3)根据相交区域的面积,确定像素的亮度值;
论文通过阅读大量文献资料,对走样和反走样技术有了较深的认识。在分析讨论了反走样理论知识的基础上,论文实现了普通区域取样、普通过取样、加权过取样、WU反走样算法。普通区域取样是将直线看成具有一定宽度的狭小矩形,当直线与像素相交时,求出两者相交区域的面积,然后确定像素的亮度值,达到反走样效果。过取样是在较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。由于是对每个像素进行平均值计算,因此速度明显慢了很多。通常的反走样都是在整数坐标上进行的,而WU像素反走样算法就采用了非整数坐标改进,效果十分的好。
上面的几种反走样算法都是在原有理论知识的基础上实现的,而第三章中的多段反走样直线算法是通过老师的指导,在普通区域取样的基础上实现。它的直线反走样速度得到了成倍的提高。在对直线段反走样研究的基础上,论文利用圆的八对称性、加权过取样等性质和技术对圆反走样算法进行了研究并加以实现。
总之,论文研究与实现了普通区域取样、普通过取样、加权过取样、WU反走样算法,在此基础上,提出了一些改进的算法,如多段直线反走样算法,位图反走样和圆反走样算法。在研究与实现的过程中,区域取样的速度要比过取样快得多,但从效果上来讲,过取样的视觉效果更好,更平滑。因此,在实际应用中要根据需要来选取不同的反走样算法。
目 录
摘要……………………………………………………………………… i
Abstract ………………………………………………………………… i
第一章 引言……………………………………………………………… 1
1.1研究背景…………………………………………………………… 1
1.2 编程实验环境……………………………………………………… 2
第二章 反走样概述……………………………………………………… 5
2.1 过取样技术………………………………………………………… 5
2.2 区域取样…………………………………………………………… 7
2.3 WU像素反走样……………………………………………………… 12
2.4点取样……………………………………………………………… 14
2.5象素移相…………………………………………………………… 14
第三章 反走样算法的改进……………………………………………… 15
3.1 多段直线反走样算法………………………………………………… 15
(优秀毕业设计:www.2bysj.cn)
3.2 圆反走样算法 ……………………………………………………… 18
3.3位图反走样………………………………………………………… 19
第四章 总结与展望……………………………………………………… 23
4.1总结………………………………………………………………… 23
4.2进一步改进设想…………………………………………………… 23
参考文献………………………………………………………………… 25