武汉学院计算机图形学论文-基于扫描线填充算法的改进型区域填充算法实现.docx
《武汉学院计算机图形学论文-基于扫描线填充算法的改进型区域填充算法实现.docx》由会员分享,可在线阅读,更多相关《武汉学院计算机图形学论文-基于扫描线填充算法的改进型区域填充算法实现.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、武汉学院计算机图形学 课程论文题 目: 基于扫描线填充算法的改进型区域填充算法实现 系 别: 专业、 班级: 姓 名: 学 号: 指 导 教 师: 完 成 时 间: 摘要: 针对现有区域填充算法在填充效率或准确性方面的不足,通过深入分析扫描线像素置及颜色间的相关性,建立了一种新的扫描线回溯判断依据和颜色判断规则。具体实现时,采用向上、向下两个方向的扫描堆栈,简化了扫描线填充算法的复杂性,使算法更易理解,最终经Vc+进行了实现。实验结果表明,该算法有很高的效率和精度,达到了预期效果。关键词:扫描线算法;区域填充;回溯;种子点 区域填充是一种基本的计算机图形操作技术,在计算机辅助设计、交互式图形显
2、示、动画、图像处理等实际领域中有着广泛的应用。随着图象实时处理技术的发展,对区域填充算法的要求也越来越高。目前,区域填充常采用的填充算法,依原理不同有基于4连通、8连通域的种子填充算法和基于像素相关性原理的扫描线填充算法。虽然种子填充算法相对简单,但由于其没有考虑像素间的相关性,每个像素都可能多次人栈,效率很低,当填充面积较大时,甚至会出现系统崩溃。而扫描线填充算法,因其具有更高的效率,在商业软件中得到了大量的应用。在这种背景下,本文通过分析当前各种扫描线改进算法的优缺点,提出了一种高效的扫描线填充算法,有效提升了扫描线填充算法的效率和精度。 1 扫描线算法现状分析 经典扫描线算法的填充步骤如
3、下:步骤1:(初始化)堆栈置为空,将给定的种子点( ,),)压人堆栈; 步骤2:(出栈)若栈空则结束。否则取栈顶元素( ,Y),以Y作为当前扫描线。步骤3:(填充并确定种子点所在区段)从种子点( ,Y)出发,沿当前扫描线向左、右两个方向填充,直到非内部。分别标记区段的左、右端点坐标为 2和XI。步骤4:(并确定新的种子点)在区间xl, r中检查与当前扫描线y上、下相邻的两条扫描线上的象素。若存在非边界、未填充的象素,则把每一区间的最右象素作为种子点压人堆栈,返回步骤2。 在扫描整个填充区域过程中,许多行被扫描过不止一次,并且像素点也进行不止一次的判断,这就降低了程序的效率和运行速度。为改善扫描
4、线算法的效率,通过消除经典算法中像素点颜色判读的重复操作对原算法进行改进;采用压人区段端点的方法,消除了原算法中端点与种子点分开操作时的重复扫描问题,提高了效率;通过区段端点的比较,建立了回溯扫描条件,有效提高了填充效率;采用广度优先的思想,力图在广度上对区域进行完整填充,有一定的意义;通过坐标与方向建立了特殊的栈,采用与类似的回溯判断条件,加快了区域填充速度;在借助改进算法的基础上,将填充由4连通域扩展到了8连通域;总结了多种当前改进算法,并对各自算法的优缺点进行了讨论,对算法的提升和总结具一定意义;从可能出现的漏填出发,提出了一种新、旧区段的扫描线方法。在以上各种算法中由于采用了回溯判断进
5、行设计,有效减小了重复判断情况,效率最高。然而也有相对不足的地方,如中介绍的算法,在区域判断时,要分多个部分进行判断,并且区段分的较多时,进栈也相对较烦琐,同时实现时,对像素颜色判断分别进行了填充色及边界色两次判断,也影响了效率。2 改进的扫描线填充算法21 区域填充基础 这里的区域指已表示成点阵形式的填充图形,是像素的集合。区域有两种表示形式:内点表示和边界表示,如图1所示。内点表示,即区域内的所有像素有相同颜色;边界表示,即区域的边界点有相同颜色。区域填充指先将区域的一点赋予指定的颜色,然后将该颜色扩展到整个区域的过程. 区域填充算法要求区域是连通的。区域可分为4向连通区域和8向连通区域,
6、如图2所示。4向连通区域指的是从区域上一点出发,可通过四个方向,即上、下、左、右移动的组合,在不越出区域的前提下,到达区域内的任意像素;8向连通区域指的是从区域内每一像素出发,可通过8个方向,即上、下、左、右、左上、右上、左下、右下这八个方向的移动的组合来到达。本文主要讨论四连通情况。22 区域像素间的相关性分析针对任意一个封闭区域(如图3所示),其内点经分析有如下规律:(1)任何一个内点均可经过四连通的方式连通在一起。(2)在一条扫描线中,可能有多个区段(每个区段指具有连续内点的段),每一个区段对应的全部为内点。在图2所示的各条扫描线中,对应的区段个数如表1所示。(3)设扫描线的一个区段表示
7、为(正,xR,Y),其中以为区段的左边界, 为区段的右边界,Y为区段的扫描线。从该区段开始进行填充,如向上填充,与该区段相连通的上方一区段表示为(xUL,xUR,Y一1)。如果xL她吧,则可能出现回溯现象,即通过区段(此 ,xL,Y一1)由向上的填充方向改为向下填充,可能在(xUL,xL,Y)中找到新的区段。同理,当 xR时,可能在(xR,xUR,Y)中找到新的区段。如图2中,由扫描线8向上扫描,扫描线7对应的区段就满足向下回溯条件,同时扫线3对应的右区段向上扫描,扫描线2对应的区段,也满足向下回溯条件。(4)从一个区段( ,xR,Y)向下填充时,如果其对应的下方一区段为(xDL,xDR,Y+
8、1),当xDLxR,则需要向上进行回溯。(5)从一个区段( ,xR,Y)向上填充时,其上一连通区段描述为(xUL,xUR,Y一1),当xURxR时,在(xUR,xR,Y一1)中可能存在新的区段。同理向下填充时,也存在可能漏填的区域。(6)从一个区段向上填充时,采用四连通中的向上连通即可,如区段(她,xR,Y)向上填充时,只需从像素(正,Y一1)开始判断该点是不是边界点即可。如不是边界点,必为内点。当找到第一个内点,则可通过该内点向左、右进行连通扩展。23 新填充算法 由22节分析可知,在进行填充时,分向上向下填充两种情况,且填充后还可能有回溯、漏填等情况出现,填充算法相对复杂。为简化算法的实现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉 学院 计算机 图形学 论文 基于 扫描 填充 算法 改进型 区域 实现
限制150内