正在学习,求多边形边标志填充算法(C语言),谢谢!

ceamky 2006-10-28 06:53:20
正在学习,求多边形边标志填充算法(C语言),谢谢!
...全文
446 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
LIUW_9 2006-12-17
  • 打赏
  • 举报
回复
扫描线方法另一思路
取填充区域内一点,扫描这一点所在行,1、再扫描这一行的上下两行,2、用边判是否实行填充,递归1、2
void fill(int cx,int cy)
{
int i,j,c,up,down;
int l=cx;
/*填充当前行,遇已填充的或边界象素则止*/
while(getpixel(l,cy)!=13&&getpixel(l,cy)!=8)
{
putpixel(l,cy,8);
l--;
}
/*定义两个标识变量,up,dowm为0时标识当前象素为起始象素*/
up=0;down=0;
/*判断当前行的上下两行的未被填充的象素段,并压入栈*/
for(i=cx;i>l;i--)
{
c=getpixel(i,cy+1);
if(c!=13&&c!=8)
{
if(up==0)
push(i,cy+1);
up=1;
}
else
{
up=0;
}
c=getpixel(i,cy-1);
if(c!=13&&c!=8)
{
if(down==0)
push(i,cy-1);
down=1;
}
else
{
down=0;
}
}
}
qq_sugar 2006-12-16
  • 打赏
  • 举报
回复
扫描线方法,
从上到下,从左到右,与多边行的边做检测,奇数相交表示后面的点在多边性内,偶次相交表示在多边行外,不过要考虑与定点相交的情况。

相关推荐
发帖
机器视觉

4371

社区成员

图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
帖子事件
创建了帖子
2006-10-28 06:53
社区公告
暂无公告