(a) 汉字细化 (b) 鱼的细化结果
图2-1 细化骨架
文献[17]提出了一种边缘点删除和内点保留细化方法相结合的新思想,即首先保留内点及图像中绝对不能被删除的特殊点(如交叉点,拐角点等);其次,删除多余的像素点;最后,去除多余枝线。实验结果表明,该算法在细化的同时很好的保持了原图像的连通性,所得的骨架图像对称性好且为单像素宽。也一定程度改善了较多多余分支的问题。在三维情况下,细化方法受到了限制,如何消除细化结果中带面的情况成为研究的难点。
2.2.2距离变换骨架提取算法
距离变换的方法,如最大圆法,最大正方形法等,在解决整体性比较好。细节性不多的物体形状方面效果较好,比如人体轮廓、大型的动物轮廓、整体性较好的汽车等轮廓。算法首先对图像进行距离变换,使用不同的距离标准如欧氏距离、棋盘距离、街区距离等可产生不同的距离分布;然后寻找距离值梯度脊线,即局部距离极值,也是距离梯度发生突变的点来形成骨架,此类方法最大的缺陷是在离散域中,难以保证骨架的连通性。这方面文献集中解决的就是在欧几里德距离图的基础上,增加连通判决条件或连通方法使得得到连通的骨架。
文献[18,19]对传统的距离变换的方法进行改进,提出了一种新的算法。算法保证了骨架的连通性及单像素性。算法复杂度与文献[7]相比,减少了很大的运算量。算法的主要思想是选择一个骨架种子点,然后以单像素宽度生长出其余的骨架点,算法中可以给定权值控制生长精度,实现骨架的多尺度控制。这样算法提取的骨架保证了骨架的单像素性和连通性,同时该算法也具有良好的抗边界噪声鲁棒性。文献提出的算法分三步:
1)对二值图作距离变换(这里采用欧氏距离变换),得到图像每一点距离场值和距
其最近的边界点坐标。选择距离场值最大的点作为种子点。
2)通过离散曲线演化把物体边界分成了很多曲线段,分别加上离散演化标记对曲线段加以区别。
3)以骨架种子点为起点,以单像素方式生长出其它骨架点。这个过程是不断对骨架点的八邻域像素点做判断,判断量是当前判断点的距离场值、距其最近的边界点坐标(最大圆边界切点)和边界曲线标一记,从而一点点得出整个骨架图。例如,假设点P是前沿骨架点,Pi(其中i=l,2,,,8)为P点的八邻域象素点。当Pi中至少有一个点和点P满足公式(1),并且这两点的最近边界点的离散演化标记不同,那么Pi点就是一个骨架点。
这里r1.r2为p,pi的最大圆半径,(x1,y1),(x2,y2)为p,pi的坐标,w为骨架像素宽度。证明见文献〔18]。
从这个过程中不难看出,按照这种算法得到的骨架确实可以保证骨架的单像素、连通性和中轴性。加上离散曲线演化条件的控制,减弱了边界噪声的影响,消除造成信息冗余的骨架枝,保留视觉上重要的骨架枝,保证物体的拓扑结构不变形。
2.2.3 Voronoi图骨架化算法
Voronoi图的方法是基于采样点的离散方法通过多面体表面侯选点集的Voronoi图计算中轴,通常结果是中轴的近似。当所有相邻关系被揭示后,Sheepy等人重新定义了采样点,由此,精确骨架也是可以构建的。然而,算法整体的复杂性难以预料。通过计算多面体表面采样点的Voronoi图来求取中轴,通常只是中轴的近似值。随着精度的提高,算法的复杂度急剧增加,且Voronoi图是中轴变换的包集,如何确定其非中轴变换的部分也是较复杂的问题。
2.2.4偏微分方程骨架化算法
偏微分方程的骨架化方法往往要结合距离场,通过初始曲线在距离场下外力和内力的共同作用下移动到骨架的位置,因此该方法结果精度高、抗噪性能好,不足在于计算开销大,难以处理拓扑结构复杂的三维物体,甚至需要一定的先验知识来求解。(2 1)