时间:2020-12-07
1. 流程简述
算法流程:
- 选取种子点
p(x0,y0),用堆栈表示种子区域,将种子点push到种子堆栈中; - 将种子堆栈中第一个种子点
pop出堆栈,并以该点为中心,遍历该中心8邻域像素; - 判断遍历像素点是否已经在种子区域中
3.1 是,continue;
3.2 否,检查点p(x,y)和种子区域的均值refAvg灰度差是否满足阈值;若满足,将p(x, y)push到堆栈中;若不满足,continue; - 计算新的种子区域的均值
refAvg,找出离上一个种子"最近"的seed,更新堆栈顺序; - 重复步骤 2-3-4,直至种子堆栈为空。
3. 源码
源码v1.0,目前存在的问题是:
-
生长过程中,以下代码只会寻找下一个种子(仅一个),取决于迭代的顺序。最终,可能导致分割效果不同。
-
另一个问题是阈值的选择问题。
修改策略:自适应阈值?全局迭代?后续补充v2.0。
int negihborRegionCheck(
unsigned char *pSrc,
unsigned char *pDst,
seedInfo_t *seedPts,
unsigned int *seedCnt,
imageSize_t sr

最低0.47元/天 解锁文章
5306

被折叠的 条评论
为什么被折叠?



