求救扫描线种子填充算法

boyoung18 2010-04-09 11:31:10
有哪位大哥能教我一下扫描线种子填充算法怎么实现,大概思路是:
1、初始化堆栈。
  2、种子压入堆栈。
  3、while(堆栈非空)
    {
     (1)从堆栈弹出种子象素。
     (2)如果种子象素尚未填充,则:

      a.求出种子区段:xleft、xright;

      b.填充整个区段。

      c.检查相邻的上扫描线的xleft≤x≤xright区间内,是否存在需要填充的新区段,如果存在的话,则把每个新区段在xleft≤x≤xright范围内的最右边的象素,作为新的种子象素依次压入堆栈。

      d.检查相邻的下扫描线的xleft≤x≤xright区间内,是否存在需要填充的新区段,如果存在的话,则把每个新区段在 xleft≤x≤xright范围内的最右边的象素,作为新的种子象素依次压入堆栈。

    }


用程序该怎么实现呢?哪位大哥指点一下,谢谢了
...全文
258 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Aurus 2011-05-11
  • 打赏
  • 举报
回复
堆栈可以用STL里的<vector>辅以适当的操作实现,填充本身可以用SetPixel()。你可以看一下扫描线填充的算法,网上很多的。
既然你的伪代码都有了,离真代码也就不远了。

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧