区域填充算法_第1页
区域填充算法_第2页
区域填充算法_第3页
区域填充算法_第4页
区域填充算法_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、6.7区域填充算法16.7区域填充算法 区域填充算法是指给出一个区域的边界,要求在边界范围内对所有像素单元赋予指定的颜色代码。 目前,区域填充算法中最常用的是多边形填色,常用的多边形填色算法有两种:递归种子填充算法扫描线种子填充算法。 2 1、递归种子填充算法 递归种子填充算法,又称边界填色算法。 算法的原理是:让单个像元作为填充胚,在给定的区域范围内,通过某种方法进行蔓延,最终填充满整个多边形区域。为了实现填充胚的蔓延,可采用四邻法或八邻法进行填充。342、扫描线种子填充算法(1)扫描线种子填充算法 扫描线种子填充算法的对象是一个个扫描线段。扫描线段是指区域内同值相邻像素在水平方向的组合,它

2、的两端以具有边界值的像素为边界,即一段扫描线段的中间只有同一种像素。 扫描线种子填充算法适用于边界定义的区域。区域可以是凸的,也可以是凹的,还可以包含一个或多个孔。5(1)扫描线种子填充算法实现方法:第一步,建立一个存放每条扫描线各填充区段右端点的堆栈,最初把种子像素压入堆栈。第二步,沿扫描线对出栈像素的左、右像素进行填充直至遇到边界像素为止,即每出栈一个像素就对区域内包含该像素的整个连续区段进行填充。第三步,检查与当前扫描线相邻的上下两条扫描线的有关像素是否全为边界像素或已填充的像素。若存在非边界、未填充的像素则把未填充的每一连续区段最左像素作为新种子像素入栈。第四步,重复一至三步,直到所有

3、的区域都填充完成。672、扫描线种子填充算法 (2)扫描线种子填充算法的改进 为了避免在后续填充时重复检查内部像素点的问题,倪玉山等(2000)在种子填充算法和扫描线种子填充算法的基础上,提出了一种扫描线种子填充算法的改进算法,该算法一定程度上提高了区域填充的效率。 改进算法的基本思想是:每找到一个新的内部区段时,不仅将新区段的y值(yn)和左右列值xnl,xnr压入堆栈,而且同时把当前区段的y值和左右列值xl,xr也压入堆栈,以保存和传递有关的信息。 83、基于曲线积分的区域填充算法 基于曲线积分的区域填充算法是邓国强,孙景鳌等(2001)提出的一种以格林公式求区域面积为基本原理进行区域填充

4、的特殊算法。 该算法具有运算速度快、对图形的适应性强、填充结果重复性好等优点;它从根本上克服了多边形填充法对区域形状有一定限制,种子填充法要求知道区域内一点(填充胚)以及对区域内像素点进行重复判断等弊端;而且该算法适应于任何一种可以准确描绘出边界曲线的区域填充处理。93、基于曲线积分的区域填充算法算法的实现:对一个区域进行轮廓跟踪,求出区域的边界像素点序列L;利用面积计算公式识别出区域像素集的内点。104、区域填充算法在地图制图中的应用 区域填充算法在地图制图及其它领域中有着广泛的应用,如图案的填充、距离和多边形面积的量算、栅格图形的局部删除及动画片和图形艺术处理等方面。 114、区域填充算法在地图制图中的应用(1)填充图案124、区域填充算法在地图制图中的应用 (2)计算多边形面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论