OpenCV-图像细化原理(thinning algorithm)——提取骨架

基础知识:

细化是在二值图基础上做的
OpenCV-图像细化原理(thinning algorithm)——提取骨架_第1张图片
模板点:
OpenCV-图像细化原理(thinning algorithm)——提取骨架_第2张图片

一.第一步

遍历考察所有的非零点 看是否满足下面四个条件
比如 有一个非零点的八邻域是下面情况,判断该点是否满足下述条件:
OpenCV-图像细化原理(thinning algorithm)——提取骨架_第3张图片
① 2<= (p2+p3+p4+p5+p6+p7+p8+p9) <=6 即是 除了p1以外八个数的和 是否在2-6之间
②从p2-p9的顺序(就是p2p3,p3p4,p4p5...这种),01的数量为1
比如上图 按照顺序只有p2p3 p6p7是 01这种模式 数量即为2
③ p2p4p6=0
④ p4p6p8=0
如果满足这四个条件 就记录这个点等待最后删除(即是该点像素值设为0)

二.第二步

同样四个条件
①同上①
②同上②
③p2p4p8=0
④p2p6p8=0
同第一步一样,判定要删除的点只是加以记录而暂不删除,等待最后同时删除!对一副图像反复执行第一步与第二步的算法步骤,直到都没有可删除的点为止!!
总结下来,就是遍历每一个前景像素 根据一系列标准反复判断该点是否是需要删除的点
学习自:
http://t.csdn.cn/FUOhb
http://t.csdn.cn/N9P4G

你可能感兴趣的:(图像opencv)