计算机图形学四连通区域种子填充算法实验.pdf

计算机图形学四连通区域种子填充算法实验.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

计算机图形学四连通区域种子

填充算法实验

《计算机图形学实验》报告

任课教师:钱文华

2016年春季学期

实验:四连通区域种子填充算法

实验时间:2016年12月8日

实验地点:信息学院2204

实验目的:掌握种子填充算法的原理,并会用种子填充算法和opengl

并结合使用c++语言编写程序绘制多边形。

实验原理:种子填充算法又称为边界填充算法。其基本思想是:从多

边形区域的一个内点开始,由内向外用给定的颜色画点直到边界为

止。如果边界是以一种颜色指定的,则种子填充算法可逐个像素地处

理直到遇到边界颜色为止。内点的检测条件:

if(interiorColor!=borderColorinteriorColor!=fillColor)。

种子填充算法常用四连通域和八连通域技术进行填充操作。从区域内

任意一点出发,通过上、下、左、右四个方向到达区域内的任意像素。

用这种方法填充的区域就称为四连通域;这种填充方法称为四向连通

算法。从区域内任意一点出发,通过上、下、左、右、左上、左下、

右上和右下八个方向到达区域内的任意像素。用这种方法填充的区域

就称为八连通域;这种填充方法称为八向连通算法。

一般来说,八向连通算法可以填充四向连通区域,而四向连通算法有

时不能填充八向连通区域。

四向连通填充算法:

a)种子像素压入栈中;

b)如果栈为空,则转e);否则转c);

c)弹出一个像素,并将该像素置成填充色;并判断该像素相邻的四

连通像素是否为边界色或已经置成多边形的填充色,若不是,则将该

像素压入栈;

d)转b);

e)结束。

四连通填充算法利用到了递归的思想。

本实验只包括四连通填充算法

程序代码:#includeglut.h

#includestdlib.h

#includemath.h

#includewindows.h

voidinit(void){glClearColor(1.0,1.0,1.0,0.0);

glMatrixMode(GL_PROJECTION);

gluOrtho2D(0.0,300.0,0.0,300.0);

}

voidsetPixel(intx,inty,long

fillColor){glColor3f(fillColor16,fillColor8,fillColor);

glBegin(GL_POINTS);

glVertex2i(x,y);glEnd();

}

voidboundaryFill4(intx,inty,longfillColor,longborderColor)

{unsignedcharparams[3];

longinteriorColor;

glReadPixels(x,y,1,1,GL_RGB,GL_UNSIGNED_BYTE,params);

interiorColor=RGB(params[0],params[1],params[2]);

if(interiorColor!=borderColorinteriorColor!=fillColor)

glutInitWindowSize(300,300);

种子填充种子填充

init();

glutDisplayFunc(lineSegment);

glutMainLoop();

}

上实验课时机房的实验结果:

后来的实验结果:

glVertex2i(0,40);

glVertex2i(20,0);

glVertex2i(60,0);

glVertex2i(80,40);

glVertex2i(60,80);

glVertex2i(20,80);

glEnd();

boundaryFill4(60,60,fillColor,borderColor);

以上这段程序改成如下

glVertex2i(90,40);

glVe

文档评论(0)

各类考试卷精编 + 关注
官方认证
内容提供者

各类考试卷、真题卷

认证主体社旗县兴中文具店(个体工商户)
IP属地宁夏
统一社会信用代码/组织机构代码
92411327MAD627N96D

1亿VIP精品文档

相关文档