分水岭算法程序实现过程详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精品课件
标记该点为-1。 ③扫描该点的邻居点,是否存在为0的mark域,存在的话这把该邻域点按照rgb高度值,
放入相应的队列。 如果这个灰度上的队列处理完了,就继续找下一个非空队列。
注 意:第 一轮, 把标记 点的邻 居点放 入相应 的优先 级队列 后,先 进先出 的原则 处理队 列中的 像素结 点,找 到一个 非零结 点后, 执行第1 ,2,3 步,执 行完第 3步之 后,重 新更新 队列再 次进行 扫描。
精品课件
二、传统分水岭算法Baidu Nhomakorabea
传统的分水岭分割方法,其基本思想是把图像看作是测地学上的拓扑地貌, 图像中每一像素的灰度值表示该点的海拔高度,每一个局部极小值及其影 响区域称为集水盆地,而集水盆地的边界则形成分水岭。基于梯度图像的 直接分水岭算法容易导致图像的过分割,产生这一现象的原因主要是由于 输入的图像存在噪声等而产生许多小的集水盆地,从而导致分割后的图像 不能将图像中有意义的区域表示出来。所以必须对分割结果的相似区域进 行合并。
精品课件
下标L表示左,R表示右,T表示上,B表示下,abs表示取绝对值
min(max(a bs(R-R T), ab s(G-GT ), abs (B-BT) ),max (abs(R -RB), abs(G- GB), a bs(B-B B)),m ax(abs (R-RL) , abs( G-GL), abs(B -BL)) ,max(a bs(R-R R), ab s(G-GR ), abs (B-BR) ))
一、有标记的分水岭算法 1.准备好原图和掩模图
精品课件
2.对掩模图做初始化标记,以形成最初的注水区域,设置mask边框值为-1,即每 个标记(种子,全为正值,1,2,3...)都是一个初始聚水盆,标记的周围一 圈的邻居像素就是聚水盆的初始边界。
精品课件
3.在mask图像中找邻居像素(该像素四邻域内有标记点),并将邻居像素对 应原图中的点放入相应的优先级队列
优先级队列
Y
0 1 2 3 4 5 6
... 254 255
X
精品课件
4.递归注水过程,通过扫描0-255高度值队列,从队列0开始,如果找到一个像素结点, 则弹出该结点,并退出扫描。
①如果该点在mask中的四邻域,只存在一个非0值,则将该点标记为该非0值。 ②如果 存在两个不同的非0值,表示该点为两个注水盆地的边缘,即分水岭线,在mark图像中
相关文档
最新文档