骨架提取与重建

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

形态学骨架提取与重建
摘要:本文首先介绍了三种骨架抽取算法, 并选取了最大圆盘的形态学骨架抽取算法作为研究对象,在c++编程的实验基础上,展示了基于形态学的图像骨架提取和图像重建的过程。

关键词:数学形态学;骨架提取;骨架重建
骨架是图象几何形态的一种重要拓扑描述。

利用骨架表示原始图像,可以在保持图象重要拓扑特征的前提下, 减少图象中的冗余信息。

因此, 被广泛应用于生物形状描述, 模式识别, 工业检测, 定量金相以及图象压缩编码等领域。

1 骨架抽取的几种模型
随着研究的深入, 人们提出了多种骨架化算法, 下面首先讨论一下三种最常用的算法。

1.1 中轴变换法: 中轴可以用下面的例子来形象的说明, 设想t = 0 时刻, 将目标边界各处同时点燃, 火的前沿以匀速向目标蔓延, 当前沿相交时火焰熄灭, 火焰熄灭点的集合就构成了中轴。

通常我们对目标图像的细化处理, 就是将图像上的文字、曲线、直线等几何元素的线条沿着中心轴线将其细化成一个象素宽的线条的处理过程。

1.2 影响区骨架法: 首先介绍一下测地距离和测地影响区的概念。

测地距离(),
d x y以x , y为端点, 包含在A 中的最短距离。


A
图1 中xy为欧氏距离, ,
xA Ay为测地距离。

图1 测地距离 图2 最大圆盘方式定义的中轴
测地影响区()A i IZ B :设B 为A 中一个集合, 它由多个连通子集组
成, 记为12,,k B B B 。

连通成分i B 的测地影响区()A i IZ B , 由A 中距i B 的测地距离比距B 的其他连通成分距离都要小的所有点集组成。

()[]{()}:,,,,A i A i IZ B p A j i k j i d P B =∈∀∈≠ (1)
其中, k 为B 中连通成分的个数。

由此得到影响区骨架( SK I Z ) 的定义。

影响区骨架( S K I Z ) :在A 中不属于任何一个B 的测地影响区的点集, 构成影响区骨架, 用()A SKIZ B 表示:
()()1
k A A i i SKIZ B A Y IZ B ==- (2) 1.3 基于最大圆盘的形态学骨架抽取算法B l um 与N ag l e 等人对区域的骨架作了很形象的描述。

他们设想采用一个直径大小可任意改变的圆盘, 连接成分可以由一系列的最大圆盘来描述。

最大圆盘与连接成分的轮廓相切, 连接成分的骨架则是这一系列最大内切圆盘圆心的连线。

如图2 所示。

以骨架上这些点为圆心的圆盘满足两个条件:(1)这些圆位于图像内部( 即被图像完全包容) ;(2)这些圆都是最大的,即在图像内部不可能再找到另一个圆能完全包容这个圆。

通过以上的说明可以看到在求图像的骨架时应满足两个条件:在求骨架的过程中,图像应该有规律的缩小;在图像逐步缩小的过程中应使图像的欧拉数, 即连通性质保持不变。

下面用数学形态学来描述求骨架的过程。

对于n = 0, 1, 2……, 定义骨架子集Skel( S ; n ) 为图像S 内所有最大圆盘nB 的圆心 X 构成的集合。

从骨架的定义可知, 骨架是所有骨架子集的并:
()(){};:0,1,2Skel S Skel S n n == (3) 定义1 设X 为欧氏空间2E 上的集合,X 的骨架记为()S X ,()r S X 为骨架()S X 的子集, 即()r S X )对应于X 的最大内切圆
半径为r 的骨架, 则数学形态学对骨架的描述为
()()()()()00r r r S X S X X rB X rB drB ≥≥⎡⎤=
=Θ-Θ⎣⎦ (4)
式中rB 指半径为r 的圆, drB 为具有微小半径值dr 的圆。

欧氏网格空间2Z 中, 圆drB 可近似认为是一个小的结构元素B 。

圆rB 则近似地认为是有离散半径n 的圆nB :nB B B B =⊕⊕⊕( n 次) 。

由此可以得出数学形态学对骨架的另一种定义形式。

定义2 设X 为欧氏网格空间2Z 上的集合, X 的骨架记为S ( X ) , 则数学形态学对骨架可描述为:
()()()()()()0,N
n S X Sn X Sn X X nB X nB B =⎡⎤==Θ-Θ⎣⎦ (5)
式中()S n X 为X 的第n 个骨架子集, n 为满足()A nB Θ≠∅和()1A n B Θ+=∅的n 值, 即X 至少被B 腐蚀()1n +次才会变为空图像。

nB 为n 个B 的膨胀, 即nB B B B =⊕⊕⊕。

由定义1可以得出计算骨架的迭代过程。

从本质上讲, 定义1 与定义2 其实是一致的, 即定义2 中的每一个子集()Sn X 中的所有点都是用最大圆概念描述骨架定义的方法中所指的大小为nB 的最大圆圆心。

2 数学形态学骨架抽取算法
定义123,,X X X 为包括图像及背景的积累集。

(1)1:0,:r X X ==
(2)21X X B =Θ
(3)If 2X =∅,
Then ()1:,:,N N r S X X ==and go to 7.
(4)32:X X B =⊕
(5)()13:r S X X X =-
(6)12:1,:,r r X X =+=and go to 2.
(7)()()0:N r r SK X S X ==
(8)Return
用数学形态学方法提取的骨架具有下列性质:
(1)若{}0;B =则().SK X =∅
(2)若选B 时;X B Θ=∅则().SK X X =
(3)骨架的各个子集()r S X 之间是不连通的,即所得到的骨架()SK X 为间断的.
(4)若C 为()SK X 的第个子集()r S X 中的元素,即()r C S X ∈,那么结构元rB 中至少包含二个X 的边界点.
3 骨架重建
设二值图像的集合为X ,X 中边界的集合为P ,m 为骨架集合()SK X 中的点,(),d m p 为m 到集合P 中最近点的距离,若P 中存在至少二点x 、y ;满足:()()(),,,d m p d m x d m y ==;即P 中至少有二个点x 、y,m 到x 、y 的距离相等且就是m 到集合P 中最近点的距离,则所有的m 的集合就是 X 的骨架.按照此定义,通常的用骨架重建原图像的方法,是以骨架上每一个点为圆心,以半径为()(),r m d m p =作圆盘,所有圆盘的并集就是重建的原始图像.
用数学形态方求出骨架后,也可用形态学变换的方法重建原始图像,这实际上是求骨架的逆运算.
若设骨架函数()skf x 为:
对任一()x SK X ∈,若()r x S X ∈,则()Skf x r =.
这样,对每一骨架上的元素都对应一个骨架函数()skf x ,且()skf x 记录了该元素所在的是第()skf x 个骨架子集,即:
()()skf x x S X ≥∈若0B B =
则从()skf x 重建原图像X :
()0N
r r X S X rB ==
⊕⎡⎤⎣⎦ (I)

()()()x SK X X x skf x B ∈=⊕
(I)中的骨架表达式表明,图像X 可由各个骨架子集做一次膨胀运
算获得.也可用骨架上的各个元素与相应的结构元做一次膨胀运算以后获得.
二值图像骨架的数学形态学描述及重建算法如下:
设,1X 是包括图像和背景的积累集.
(1) 1:,:r N X ==∅
(2) ()11:r X X S X =
(3) If 0r = return , otherwise 11:X X B =⊕
(4) :1r r =- and go to 2.。

相关文档
最新文档