第5章基本图形生成算法--第四讲分解.ppt

一个结论 4-连通区域的边界是8-连通的:边界点可以通过8-邻接点遍历 反之,8-连通区域的边界是4-连通的:边界点可以通过4-邻接点遍历 2. 区域填充 2.4 边界填充算法 算法思想:从内部一个种子像素出发,通过四连通(四向算法)或者八连通方向(八向算法)对所有像素进行遍历和着色操作,直到所有像素都完成着色操作为止。 边界填充算法实现(4-邻接点) 需要的数据结构 堆栈:后进先出。 1 2 3 首先,种子像素入栈,然后,当栈顶元素非空时,重复执行下面的操作: (1)栈顶像素出栈; (2)将出栈像素置成填充色; (3)检查出栈像素的4-邻接点,若其中某个像素点不是边界色且未置成多边形色,则把该像素入栈。返回到(1)。 算法演示 算法输入的初始数据: 种子点坐标,填充色,边界像素颜色。 算法具体实现 种子填充算法实现(8-邻接点) 算法演示 种子填充算法的优缺点 优点:可以填充带有内孔的区域 缺点:太多的像素被压入堆栈,同一像素被重复入栈。 种子算法改进--扫描线种子算法 种子像素入栈;当栈非空时作如下三步操作: (1)栈顶像素出栈; (2)沿扫描线对出栈像素的左右像素进行填充,直到遇到边界像素,即每出栈一个像素,就对包含该像素的整个扫描线区间进行填充。 (3)在区间中检查与当前扫描线相邻的上下两条扫描线的有关像素是否全为边界像素或已填充的像素

文档评论(0)

1亿VIP精品文档

相关文档