发明名称 基于离散曲线演化的骨架剪枝方法
摘要 本发明公开了一种基于离散曲线演化的骨架剪枝方法,属于图像处理技术领域。二值图像骨架化方法得到的骨架都受制于对边界噪声的敏感性,限制了骨架在图像处理领域中的应用。本发明利用离散曲线演化求出图像的轮廓分割,删除生成点在同一轮廓分割上的骨架点,达到删除由边缘噪声引起的冗余骨架分支而保持视觉上重要骨架分枝的目的。本发明综合考虑了物体的全局信息,剪枝后的骨架非常稳定;能保持骨架的拓扑不变性;可以彻底删除不必要的骨架分枝,而避免重要的骨架分枝被缩短;本发明时间复杂度低,且可实现对骨架的多尺度剪枝。本发明在医学图像分析、物体识别、零件检测、三维建模、计算机辅助设计等方向有着潜在的应用。
申请公布号 CN101140660A 申请公布日期 2008.03.12
申请号 CN200710053534.0 申请日期 2007.10.11
申请人 华中科技大学 发明人 刘文予;白翔;李劝男;刘海容
分类号 G06T5/00(2006.01) 主分类号 G06T5/00(2006.01)
代理机构 华中科技大学专利中心 代理人 曹葆青
主权项 1.一种基于离散曲线演化的骨架剪枝方法,其步骤包括:(1)对二值图像I作欧氏距离变换,求出图像的距离变换;(2)找出骨架S(I)中任一骨架点sJ的生成点Tan(sj),其中骨架S(I)为二值图像I提取的骨架;(3)按照下述过程对图像二值图像I进行处理,得到图像的轮廓分割H(I):(3.1)连接二值图像I边缘上的所有象素,得到m个多边形Pi,1≤i≤m,记Pi的顶点个数为ni,顶点的集合为{v1 i,v2 i...,vn1 i},边的集合为{c1 i,c2 i...,cn1 i};(3.2)以多边形Pi的顶点vk i,1≤k≤ni,以及以顶点vk i为公共端点的两边ck-1 i和ck i组成一个拱,用下式计算每个拱的重要性度量值K(ck-1 i,ck i):<mrow><mi>K</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mo>,</mo><msubsup><mi>c</mi><mi>k</mi><mi>i</mi></msubsup><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>&beta;</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mo>,</mo><msubsup><mi>c</mi><mi>k</mi><mi>i</mi></msubsup><mo>)</mo></mrow><mi>l</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mo>)</mo></mrow><mi>l</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mi>k</mi><mi>i</mi></msubsup><mo>)</mo></mrow></mrow><mrow><mi>l</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mo>)</mo></mrow><mo>+</mo><mi>l</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mi>k</mi><mi>i</mi></msubsup><mo>)</mo></mrow></mrow></mfrac></mrow> 其中β(ck-1 i,ck i)是ck-1 i和ck i之间的拐角,即ck-1 i和ck i所成的角度,l(ck-1 i)和l(ck i)分别是用多边形Pi的周长归一化后的ck-1 i和ck i的长度;删除K(ci-1 k,ci k)值最小的顶点vk i,并连接与vk i相邻的两个顶点vk-1 i和vk+1 i形成新边,得到多边形P1 i;(3.3)计算P1 i与Pi之间的平均距离Dav(P1 i),Dav(Pk i)定义为Pi上点与其对应在Pk i上的边的平均距离;若 <mrow><msub><mi>D</mi><mi>av</mi></msub><mrow><mo>(</mo><msubsup><mi>P</mi><mn>1</mn><mi>i</mi></msubsup><mo>)</mo></mrow><mo>&le;</mo><msub><mi>T</mi><mn>1</mn></msub><mo>,</mo></mrow> T1为阈值,重复步骤(3.2),否则进入步骤(4);(3.4)设Pk i的所有凸顶点为{tv1 ik,tv2 ik,...,tvmik ik},mik为Pk i中凸顶点个数;对 <mrow><msubsup><mi>tv</mi><mi>t</mi><mi>ik</mi></msubsup><mo>&Element;</mo><mo>{</mo><msubsup><mi>tv</mi><mn>1</mn><mi>k</mi></msubsup><mo>,</mo><msubsup><mi>tv</mi><mn>2</mn><mi>k</mi></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>tv</mi><msub><mi>m</mi><mi>ik</mi></msub><mi>k</mi></msubsup><mo>}</mo><mo>,</mo></mrow> 连接tvt ik到所有凹顶点,并求连线在图像内部的连线的距离的最小值Dl(tvt ik);对Dl(tvt ik)与T2进行比较,如果 <mrow><msub><mi>D</mi><mi>l</mi></msub><mrow><mo>(</mo><msubsup><mi>tv</mi><mi>t</mi><mi>ik</mi></msubsup><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>T</mi><mn>2</mn></msub><mo>,</mo></mrow> T2为阈值,则在Pk i中删除tvt ik,并连接与tvt ik相邻的两个凸顶点tvt-1 ik和tvt+1 ik,否则,保留该凸顶点;删除所有满足上述条件的凸顶点,得到新的多边形Pk+1 i;(3.5)设Pk+1 i的所有凸顶点为{u1 i,u2 i,...,uni′ i},ni ′是Pk+1 i上的凸顶点个数;则Pi可被Pk+1 i的凸顶点集分割成ni ′段子弧<mrow><mi>H</mi><mrow><mo>(</mo><msup><mi>P</mi><mi>i</mi></msup><mo>)</mo></mrow><mo>=</mo><mo>{</mo><mo>[</mo><msubsup><mi>u</mi><mn>1</mn><mi>i</mi></msubsup><mo>,</mo><msubsup><mi>u</mi><mn>2</mn><mi>i</mi></msubsup><mo>]</mo><mo>,</mo><mo>[</mo><msubsup><mi>u</mi><mn>2</mn><mi>i</mi></msubsup><mo>,</mo><msubsup><mi>u</mi><mn>3</mn><mi>i</mi></msubsup><mo>]</mo><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mo>[</mo><msubsup><mi>u</mi><mrow><msubsup><mi>n</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>-</mo><mn>1</mn></mrow><mi>i</mi></msubsup><mo>,</mo><msubsup><mi>u</mi><msubsup><mi>n</mi><mi>i</mi><mo>&prime;</mo></msubsup><mi>i</mi></msubsup><mo>]</mo><mo>,</mo><mo>[</mo><msubsup><mi>u</mi><msubsup><mi>n</mi><mi>i</mi><mo>&prime;</mo></msubsup><mi>i</mi></msubsup><mo>,</mo><msubsup><mi>u</mi><mn>1</mn><mi>i</mi></msubsup><mo>]</mo><mo>}</mo><mo>,</mo></mrow> 二值图像I的轮廓分割H(I)为:H(I)={H(Pi),1≤i≤m};(4)如果骨架S(I)中的某一骨架点sj的生成点Tan(sj)在二值图像I的某一轮廓分割上,则将该骨架点sj删除;遍历所有骨架点,删除生成点在同一轮廓分割上的骨架点,得到剪枝后的骨架S′(I)。
地址 430074湖北省武汉市洪山区珞瑜路1037号