永发信息网

简述边界表示的四连通区域的种子填充算法的基本思想和执行步骤

答案:3  悬赏:30  手机版
解决时间 2021-02-09 18:34
  • 提问者网友:伴风望海
  • 2021-02-09 01:31
简述边界表示的四连通区域的种子填充算法的基本思想和执行步骤
最佳答案
  • 五星知识达人网友:煞尾
  • 2021-02-09 02:00
一、种子填充算法思想:
首先填充种子所在的尚未填充的一区段,然后确定与这一区段相邻的上下两条扫描线上位于该区段内是否存在需要填充的新区段,如果存在,则依次把每个新区段最右端的象素作为种子放入堆栈。反复这个过程,直到堆栈为空。
二、种子填充算法步骤:
1、初始化堆栈。
2、种子压入堆栈。
3、While(堆栈非空)从堆栈弹出种子象素。
全部回答
  • 1楼网友:孤独的牧羊人
  • 2021-02-09 03:46
百度HI 给我推荐的这个问题 把哥弄郁闷了 没看懂
  • 2楼网友:由着我着迷
  • 2021-02-09 03:18
我现在假定你已经把你的大部分背景都至为0或255,并且已经进行了边缘检测
首先从上至下,从左至右寻找一个种子点
然后:(递归算法)
a) 种子像素压入栈中;
b) 如果栈为空,则转e);否则转c);
c) 弹出一个像素,并将该像素置成填充色;并判断该像素相邻的四连通像素是否为边界色或已经置成多边形的填充色,若不是,则将该像素压入栈;
d) 转b);
e) 结束。
而后寻找另一个种子点,这时不要忘了加约束条件,比如不要跟已经填充过的区域有重叠
继续上述步骤追答不好意思回答有点错误,我再看看假如你进行了阀值分割,把大部分背景置为【灰度1】,然后进行边缘检测,
这时你把用上面的递归算法把背景置为100(此值不要与【灰度1】相同即可,因为目标中也有很多像素值为【灰度1】),然后把图像中不是100的其他像素都置为0,这个时候你会发现目标中也有像素值为100的像素,但因为此值很少,你可以检测这个像素的周围特点(周围像素一般是0),再把这样特点的100像素置为0,ok!
不知道我说的对不对,呵呵,可能有漏洞!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯