欢迎来到天天文库
浏览记录
ID:39315153
大小:560.60 KB
页数:38页
时间:2019-06-30
《Ch543多边形区域填充》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5.4.3区域填充区域点阵形式的填充图形,是像素的集合区域的表示边界表示法内点表示区域填充算法边界填充算法泛填充算法YTU区域的表示边界表示内点表示YTU区域填充算法种子-种子填充算法YTU问题区域填充算法要求区域一定是______的连通YTU4连通区域和8连通区域44p44(b)p的8-邻接点88888p888(a)p的4-邻接点图5-33邻接点的定义YTU4连通区域:通过4个方向的运动遍历区域8连通区域:通过8个方向的运动遍历区域YTU图5-32区域的边界表示和内点表示(b)以内点表示的4-连通区域(d)以内点表示的8-连通区域YTU图5-32区域的边界表示和内点表示(a)以边界表示
2、的4-连通区域(c)以边界表示的8-连通区域YTU补充4连通区域也可理解成8连通区域,但是两者的边界不尽相同4连通区域△号8连通区域△号×号YTU区域填充算法内点表示--泛填充算法(Flood-fillAlgorithm)边界表示法--边界填充算法(Boundary-fillAlgorithm)YTU4-连通边界填充算法步骤-栈结构实现输入初值:种子点坐标(x,y)、填充色、边界颜色种子像素入栈当栈非空时重复执行如下操作(1)栈顶像素出栈;(2)将出栈像素置成填充色;(3)检查出栈像素的4-邻接点,若其中某个像素点不是边界色且未置成填充色,则把该像素入栈。YTU0种子像素入栈1212BD
3、CA入栈条件:不是边界色且未置成填充色45134531不是边界色且未置成填充色413431不是边界色且未置成填充色61331不是边界色且未置成填充色6371331不是边界色且未置成填充色7381331不是边界色且未置成填充色899小结:4-连通边界填充算法凡是栈中出现的元素都是等待被填充的填充步骤出栈置填充色4-邻接点入栈(非边界色,非填充色)☆Flash演示4连通边界填充算法YTU8-连通边界填充算法步骤出栈置填充色8-邻接点入栈(非边界色,非填充色)YTU简单的边界填充算法栈操作多栈的存储空间大沿扫描线填充水平像素段的4-连通边界填充算法P131图5-34Flash演示出栈置填充色-
4、连续像素段入栈-当前扫描线相邻的上下两条扫描线的最左像素YTU2.泛填充算法-栈结构实现算法输入:种子点坐标(x,y)、填充色、内点颜色种子像素入栈;当栈非空时作如下操作:(1)栈顶像素出栈;(2)将出栈像素置成填充色;(3)检查出栈像素的4-邻接点,若其中某个像素点,内点的颜色且未置成填充色,则把该像素入栈。YTU1243569810117141315121716填充色:绿色内点颜色:橙色124356981011714131512171691243569810117141315121716912435698101171413151217164BDCA101481243569810117
5、141315121716BDCA10148412435698101171413151217163BDCA10148512435698101171413151217163BDCA1014851243569810117141315121716310148106212435698101171413151217163101481062124356981011714131512171631014810612435698101171413151217163101481011☆Flash演示8连通泛填充算法YTU对比边界填充算法(1)栈顶像素出栈;(2)将出栈像素置成填充色;(3)检查出栈像素的4-邻
6、接点,若其中某个像素点不是边界色且未置成填充色,则把该像素入栈。泛填充算法(1)栈顶像素出栈;(2)将出栈像素置成填充色;(3)检查出栈像素的4-邻接点,若其中某个像素点是内点的颜色且未置成填充色,则把该像素入栈。YTU小结区域填充算法边界填充算法(8连通,4连通)泛填充算法(8连通,4连通)简单种子填充算法基于扫描线的种子填充算法YTU小结算法步骤初始:种子入栈栈顶元素出栈填充该元素填充该元素所在扫描线寻找新的种子入栈4邻接点/8邻接点填充色/边界色/内点色相邻上下两扫描线最左像素YTU☆思考题p132☆课堂练习–区域填充YTU
此文档下载收益归作者所有