细化概念
很多细化算法的学者对细化概念做了定义,将骨架定义为从图像线条的内部传播的波阵面的结果,骨架就是对边波阵面交集的轨迹,它作为一个概括性的理论被大多数学者所接受。图像中最外层的像素被连续的移除直到剩下骨架像素,但同时要保证骨架的连通性。其中有学者将骨架定义为图像线条的中心,使用这个骨架化定义可以精确地重建最初始的图像和重新描绘出它们。因为细化是模式识别领域的主要任务或本质要求之一,所以细化或骨架化算法的设计是一个非常活跃的研究领域。
细化的方法
在介绍细化方法之前,先简单介绍一下边缘检测算法,常用的比如Sobel、Canndy等边缘算子,基于小波变换的图像边缘检测算法、基于模糊理论的边缘检测算法、基于蚁群算法的边缘检测算法,但是这些算法无法同时保证高精度和抗噪性。
传统的边缘检测一般只能得到多像素宽边缘,但有时我们需要的是清楚的边缘骨架,因此提出了图像细化,现有的边缘细化算法大致有两类:基于二值边缘图像的方法和基于形态学的方法。
细化的要求
- 保证细化后骨架的连通性
- 对原图像的细节特征要保持好
- 细化的结果是原线条的中心线
- 线条的端点保留完好
- 线条交叉点不能发生畸变
- 细化所用时间不能太长
经典的细化算法
- Hiditch细化算法
只适用于二值图像,比较普通,且在 判断某一象素是否为边缘点及是否应被删除时,判断依据太多,有些条件不够简洁、有效,判决条件之间有重复,这样造成处理速度慢、通用 性差 - Deutch细化算法
- Pavlidis细化算法
- Zhang快速并行细化算法
更易于实现且计算简单,但细化宽度不能保 证为单像素,原图像会有很多毛刺,这对于以后的查找细化图 像的分差点带来了很大的困难。