设为首页 - 加入收藏
广告 1000x90
您的当前位置:12555主二肖com > 矩描述子 > 正文

第八章 图像描述

来源:未知 编辑:admin 时间:2019-07-07

  第八章 图像描述_工学_高等教育_教育专区。第八章 图像描述 8.1 图像描述的基础和分类 8.2 边缘描述 (链码、傅立叶描述子等) 链码、傅立叶描述子等) 8.3 区域描述 (骨架、矩描述等) 骨架、矩描述等) 8.4 形态学描述简

  第八章 图像描述 8.1 图像描述的基础和分类 8.2 边缘描述 (链码、傅立叶描述子等) 链码、傅立叶描述子等) 8.3 区域描述 (骨架、矩描述等) 骨架、矩描述等) 8.4 形态学描述简介 (腐蚀与膨胀、细化 ) 腐蚀与膨胀、 8.1 图像描述的基础和分类 图像被分割之后,必须使用更适合于计算机处理的形式对子区域进行 表达与描述,在此基础上进一步提取便于计算机进行自动模式识别的图像特 征,同时减少用于表示图像的数据量。描述的目的仍然是为了图象分析。如 果使用的描绘方法正确,即能够表示物体的成象的特征,又达到可以实用的 程度,则通过描述表征的图象特征,就可分析出图象的内容。通常将表征的 一系列符号称为描述子。描述图像子区域的方法主要有两类: 1)用区域的外部特征来表示区域,如:链码与Fourier描述子。 2)用区域的内部特征来表示区域,如:矩描述子。 但区域的描述方法应当由计算机模式识别时需要的特征来决定。为了使 所选取的描述更有利于下一步的计算,常按照以下原则选择描述方法: 1)如果需要识别图像的形状,则要关注其形状特性,应选择外部表示 方式。因为在边界轮廓的基础上可以很容易获得区域的面积、周长、 区域的最大外接矩形的长宽比等特征。 2)如果关注的是目标的反射率特性,如颜色、纹理时,应选择内部表 示方式。 3)所选表示方式,应该对尺寸、变换、旋转等变量尽可能的不敏感。 8.2 边缘描述 ? ? ? ? 8.2.1 8.2.2 8.2.3 8.2.4 链码 傅立叶描述子 多边形近似 简单的边界描述 8.2.1 链码 1.定义 链码是一种边界的编码表示法,它用边界的方向作为编码依据。为简化 边界的描述,一般描述的是边界点集。 2.方法 给每一个线段边界一个方向编码。有4-链码和8-链码两种编码方法。具 体做法是从起点开始,沿边界编码,至起点被重新碰到,结束编码。 1 2 3 (a) 0 3 4 5 2 1 0 6 (b) 7 0 y 2 3 1 0 (c) x y 5 6 7 4 3 2 1 0 x 0 (d) 4-方位与8-方位链码 举例: 举例: 4-链码:211110011 3.存在的问题和改进 ? 链码存在的问题1: 1)链码相当长;2)噪音会产生不必要的链码。 改进:1)加大网格空间;采用更大间隔的网格对图像重采样,网格 线穿过轮廓线得到一组交点,判断交点与大网格的节点的 距离,将它归于距离最近的节点上得到新的链码。新的区 域是原区域的一种近似,近似程度由网格的分辨率决定。 2)依据原始边界与结果的接近程度,来确定新点的位置。 ? 链码存在的问题2: 2 1)由于起点的不同,造成编码的不同; 2)由于角度的不同,造成编码的不同。 改进: 1)如果将链码首尾连接起来,可以看出,不同的链码其实是方向编 号的循环序列。因此可以重新定义起始点,使得到的编号序列的 整数值为最小值,实现链码的归一化。 2)用链码的一次差分代替原编码进行归一化,就具有了旋转不变性。 也就是说,同样形状的区域,旋转不同的角度,它们的链码是不 一样的,但各链码的一次差分码相同,这一性质对图像的识别特 别有效。 (a) (b) (c) (d) 图8-22图像的重采样(a)叠加在数字化边界上的重采样网格;(b)重 采样的结果;(c)4-方位码;(d)8 -方位码 例:某区域的4-方位链码为10103322,它的一次差分为3133030。但 链码是一个循环序列,因此应该增添差分的第一个元素:第一个方位 码(1)减最后一个方位码(2)为3。完整的差分码为33133030,归 一化后为03033133。 例:循环首差链码的计算(用相邻链码的差代替链码) 例如:4-链码 10103322 ,其循环首差为:33133030 循环首差计算方法: 1 - 2 = -1(3) 3-0=3 0 - 1 = -1(3) 3-3=0 1-0=1 2 - 3 = -1(3) 0 - 1 = -1(3) 2-2=0 8.2.2 傅立叶描述子 1. 傅立叶描述子的基本思想 1)对于XY平面上的每个边界点,将其坐标用复数表示为: s(k) = x(k) + jy(k) k=0,1,…,N-1 jy x(k) = xk y(k) = yk y0 y1 x x0 x1 2)进行离散傅立叶变换 N-1 a(u) =1/N ∑s(k)exp(-j2πuk/N) π u=0 N-1 u=0,1,…,N-1 s(k) = ∑a(u)exp(j2πuk/N) π u=0 k=0,1,…,N-1 系数a(u)被称为边界的傅立叶描述子 3)选取整数 M≤N-1,进行逆傅立叶变换(重构) M-1 s’(k) = ∑a(u)exp(j2πuk/N) π u=0 k=0,1,…,N-1 这时,对应于边界的点数没有改变,但在重构每一个点所需要的计算项 大大减少了。如果边界点数很大,M一般选为2的指数次方的整数。 2. M的选取与描述符的关系 在上述方法中,相当于对于u M-1的部分舍去不予计算。由于傅 立叶变换中高频部分对应于图像的细节描述,因此M取得越小,细 节部分丢失得越多。 M=64 M=4 M=61 M=62 3. 使用价值 1)较少的傅立叶描述子(如4个),就可以获取边界本质的整体轮廓。 2)这些带有边界信息的描述子,可以用来区分明显不同的边界。 4. 优点 1)使用复数作为描述符,对于旋转、平移、放缩等操作和起始点的选取 不十分敏感。 2)几何变换的描述子可通过对函数作简单变换来获得。 几何变换 原形 旋转 平移 放缩 起点 a(u) 傅立叶描述子 a(u) = a(u) ejθ a(u) = a(u) + ?xyδ(u) a(u) = αa(u) a(u) = a(u) e-j2πk0u/N 下图是飞机侧影的描绘结果。这些结果是如下得到的:计算边界的NFD (应用512点,保留最低频率的32个点而把其他的点置0,求修改了的512 阵列的Fourier反变换,得到原始数据的近似。由图9-4所看到的结果, 在最低的32个分量中的信息足以区别这些飞机的外形。 8.2.3 多边形近似 1.基本思想:用最少的多边形线段,获取边界形状的本质。寻找最小基本多 边形的方法一般有两种:点合成法和边分裂法。 1) 点合成算法: (1) 沿着边界选两个相邻的点对,计算首尾连接直线段与原始折线) 如果误差R小于预先设置的阈值T。去掉中间点,选新点对与下一相邻 点对,重复1);否则,存储线,选被存储线 的终点为起点,重复步骤(1)和(2)。 (3) 当程序的第一个起点被遇到,程序结束。 R R T 2)边分裂算法思想举例: 点合成算法存在的问题是 顶点一般不对应于边界的拐点(如拐角)。因 为新的线段直到超过误差的阈值才开始。分裂法可用于缓解这个问题。 分裂边算法步骤为: (1) 连接边界线段的两个端点(如果是封闭边界,连接最远点); (2) 如果最大正交距离大于阈值,将边界分为两段,最大值点定位一个 顶点。重复步骤(1); (3) 如果没有超过阈值的正交距离,结束。 8.2.4 简单的边界描述 1. 边界的周长:是最简单的描述符之一。沿轮廓线计算象素的个数,给 出了一个长度的近似估计。 2. 边界的直径:边界B的直径是:Diam(B) = max[D(pi, pj)] 其中,D是欧氏距离或几何距离,pi, pj是边界上的点。直径的长度和 直径的两个端点连线(这条线被称为边界的主轴)的方向,是关于边 界的有用的描述符。 3. 形状数(实用化链码):最小循环首差链码。 循环首差链码:用相邻链码的差代替链码 例如:4-链码 10103322 循环首差为:33133030 循环首差: 1 - 2 = -1(3) 3-0=3 0 - 1 = -1(3) 3-3=0 1-0=1 2 - 3 = -1(3) 0 - 1 = -1(3) 2-2=0 例: 4- 链码 :10103322 循环首差 :33133030 形状数 :03033133 形状数序号n的定义:形状数中阿拉伯数字的个数。上例序数为8。 对于封闭边界序号一定是偶数。如order4、6、8。 举例:序号为4、6、8的形状数 序号4 序号6 序号8 链码:0321 首差:3333 形状:3333 链码:003221 首差:303303 形状:033033 链码:00032221 首差:30033003 形状:00330033 举例:序号为6的形状数,说明其与与方向无关。 序号6 链码:003221 首差:303303 形状:033033 链码:033211 首差:330330 形状:033033 序号6 举例:序号为8的形状数,说明其与与方向无关。 序号8 序号8 序号8 链码:00332211 首差:30303030 形状:03030303 链码:03032211 首差:33133030 形状:03033133 链码:00323211 首差:30331330 形状:03033133 ? 形状数的问题:虽然链码的首差是旋转不变的,但一般情况下边界的编码依 赖于网格的方向。 ? 改进方法:规整化网格方向。 ? 几个基本概念: ? 边界最大轴a:是连接距离最远的两个点的线段 ? 边界最小轴b:与最大轴垂直,且其长度确定的包围盒刚好包围边界。 ? 边界离心率c:最大轴长度与最小轴长度的比为:c = a / b ? 基本矩形: 包围边界的矩形。 边界最大轴a 基本矩形 边界最小轴b ? 规整化网格方向算法的思想: ? 大多数情况下,将链码网格与基本矩形对齐,即可得到一个唯一的形状数。 (1)首先确定形状数的序号n; (2)在序号为n的矩形形状数中,找出一个与给定形状的基本矩形的离心 率最接近的形状数; (3)然后再用这个矩形与基本矩形对齐,构造网格; (4)用获得链码的方法得到链码; (5)再得到循环首差; (6)首差中的最小循环数即为形状数。 ? 规整化网格方向的一种算法如下 : 例如: 如果n=12,所有序号为12的矩形(即周长为12)为2*4,3*3,1*5。 如果2*4矩形的离心率最接近于给定边界的基本矩形的离心率,我们建立 一个2*4的网格。 ? 形状数的规整化网格方向算法举例 1 0 2 3 链码:1 首差:3 形状:3 8.3 区域描述 ? ? ? 8.3.1 骨架 8.3.2 矩描述 8.3.3 简单描述子 8.3.1 骨架 1.基本思想 表示一个平面区域结构形状的重要方法是把它削减成图形。这种削 减可以通过细化(也称为抽骨架)算法,获取区域的骨架来实现 2. Blum的中轴变换方法(MAT) 设: R是一个区域,B为R的边界点,对于R中的点p,找p在B上“最 近”的邻居。如果p有多于一个的邻居,称它属于R的中轴(骨架)。 3. 区域骨架问题:计算量大 算法改进思想:在保证产生正确的骨架的同时,改进算法的效率。比较 典型的是一类细化算法,它们不断删去边缘,但保证删除满足: 1)不移去端点;2)不破坏连通性;(3)不引起区域的过度腐蚀。 p R B 4. 一种细化二值区域的算法 1) 假设区域内的点值为1,背景值为0; 2) 这个方法由对给定区域的边界点连续进行两个基本操作构成; 3) 这里边界点是指任何值为1且至少有一个8邻域上的点为0的象素. 基本操作1: 对于满足以下四个条件的边界点打标记准备删除: (a) 2≤N(p1)≤6 其中N(p1)是点p1的邻域中1的个数,即: ≤ ≤ N(p1)=p2+p3+…+p9 (b) S(p1) = 1; 其中S(p1)是按p2,p3,…,p9顺序,0-1转换的个数 (c) p2 * p4 * p6 = 0 (p2 、p4 、p6 至少有一个0) (d) p4 * p6 * p8 = 0 (p4 、p6 、p8 至少有一个0) 基本操作2: 条件(a)、(b)与操作1相同 ;条件(c)、(d)改为: c’) p2* p4* p8= 0 d’) p2* p6* p8= 0 ? 区域骨架算法分析: ? 1)条件a)的分析:当轮廓点p1的8邻域上有1个或7个值为1的点时,不满足 条件a。有1个点说明:p1是骨架上的终点,显然不能删除;有7个点说明: 如果删除p1会引起区域的腐蚀。 ? 2)条件b)的分析:当p1在宽度为1的笔划上时,不满足条件b。因而该条件 保证了骨架的连续性。 ? 3)当(p4=0 or p6=0)or(p2=0 and p8=0)时,条件c,d同时满足。满足这个条件 的点可能是右边、下边、左上角的边界点。任何一种情况下,p1都不是骨架 的一部分,应被删除。 ? 当(p4=0 and p6=0)or(p2=0 or p8=0)时,条件c’,d’同时满足。满足这个条件的 点可能是左边、上边、右下角的边界点,应被删除。 p9 p2 p3 p8 p1 p4 p7 p6 p5 p9 p2 p3 p8 p1 p4 p7 p6 p5 p9 p2 p3 p8 p1 p4 p7 p6 p5 ? 所有条件都满足,才打删除标记。删除并不立即进行,而是等到对所有边界 点都打完标记后,再把作了标记的点一起删除。 – 举例:N(p1) = 4;S(p1) = 3;p2*p4*p6 = 0;p4*p6*p8 = 0 第2个条件没 满足不打标记。 0 0 1 p9 p2 p3 p8 p1 p4 p7 p6 p5 p9 p2 p3 p8 p1 p4 p7 p6 p5 1 p1 0 1 基本操作2: 0 1 p9 p2 p3 p8 p1 p4 p7 p6 p5 p9 p2 p3 p8 p1 p4 p7 p6 p5 ? 细化算法举例: 细化算法的一轮操作包括: ? 按操作1,给边界点打标记——删除点 ? 按操作2,给边界点打标记——删除点 ? 这个基本过程反复进行,直至没有点可以删除为止。此时算法终止。 。 8.3.2 矩描述 1. 基本思想: 将描述形状的任务减少至描述一个一维函数,边界段和特征的形状可 以用矩量来量化地描述。 矩量的定义:把边界当作直方图函数g(r),则其表达式为: L ?n(r) = ∑(ri- m)ng(ri) i=1 L 其中 m = ∑rig(ri) i=1 ,L是边界上点的数目, ?n(r)是边界的矩量。 ? 矩的优点:可直接实现;附带了一种关于边界形状的“物理”解释;对旋转 不敏感;为了使大小比例不敏感,可以通过伸缩r的范围来将大小正则化。 g(r) r 2. 区域的矩描绘子 一个区域以内部点的形式给出,那么,可用另外一种描绘子来描述。它对 于图象的变换、旋转和大小变化都是恒定的,这就是矩描绘子。 给定二维连续函数 ,用下式来定义 阶矩: 可以证明,矩序列( 唯一地确定了 )唯一地被 ∞ ∞ 所确定。反之,也 。其中心矩可以表示如下: ? pq = 式中 ? ∞? ∞ ∫ ( x ? x ) p ( y ? y ) q f ( x, y )dxdy ∫ m10 x= m00 m01 y= m00 m00 = m01 = ∞ ∞ ? ∞? ∞ ∞ ∞ ∫ ∫ f ( x, y)dxdy m10 = ∞ ∞ ? ∞? ∞ ∫ ∫ xf ( x, y)dxdy ? ∞? ∞ ∫ ∫ yf ( x, y)dxdy 对于数字图象,应使用离散形式: ? pq = ∑∑ ( x ? x ) p ( y ? y ) q f ( x, y ) x y 一阶到三阶中心矩如下: ?10 = ∑∑ ( x ? x )1 ( y ? y ) 0 f ( x, y ) = m10 ? x y m10 m00 =0 m00 ? 01 = 0 m10 m01 ?11 = ∑∑ ( x ? x ) ( y ? y ) f ( x, y ) = m11 ? m00 x y 1 1 ? 20 = ∑∑ x y 2 2 2 m10 m10 m10 ( x ? x ) ( y ? y ) f ( x, y ) = m20 ? 2 = m20 ? + m00 m00 m00 2 0 m01 ? 02 = ∑∑ ( x ? x ) ( y ? y ) f ( x, y ) = m02 ? m00 x y 0 2 ? 30 = m30 ? 3 x m20 + 2 x 2 m10 ? 03 = m03 ? 3 ym02 + 2 y 2 m01 ?12 = m12 ? 2 ym11 + x m02 + 2 y 2 m10 ? 21 = m21 ? 2 x m11 + ym20 + 2 x 2 m01 将中心矩规格化,记作 ? pq η pq = r ? 00 p+q γ= 2 p + q = 2,3, LL 利用第二阶矩和第三阶矩,可以导出下面七个不变矩组: φ1 = η20 + η02 2 φ 2 = (η20 ? η02 ) 2 + 4η11 φ3 = (η30 ? 3η12 ) 2 + (3η21 + η03 ) 2 φ 4 = (η30 + η12 ) 2 + (η21 + η12 ) 2 φ5 = (η30 ? 3η12 )(η30 + η12 )[(η30 + η12 ) 2 ? 3(η21 + η03 ) 2 ] + 3(η21 ? η03 )(η21 + η03 )[3(η30 + η12 ) 2 ? (η21 + η03 ) 2 ] φ 6 = (η20 ? η02 )[(η30 + η12 ) 2 ? (η 21 + η03 ) 2 ] + 4η11 (η30 + η12 )(η21 + η03 ) φ7 = (3η12 ? η30 )(η30 + η12 )[(η30 + η12 ) 2 ? 3(η21 + η03 ) 2 ] + 3(η21 ? η03 )(η21 + η03 )[3(η03 + η12 ) 2 ? (η12 + η03 ) 2 ] 8.3.5 简单描述子 1. 边界的直径 如图: 如图: D 2. 边界的曲率 曲率被描述为斜率的变化率。近似用相邻边界线段(描述为直线)的斜 率差作为在边界线交点处的曲率描述子。 交点a处的曲率为: dk = k1 – k2 其中k1、k2 为相邻线段的斜率。 如图: k2 a k1 3. 边界的凸线段点 边界的凸线段点:当顶点p上的斜率是非负时,称其为凸线. 边界的凹线段点 边界的凹线段点:当顶点p上的斜率为负时,称其为凹线段上的点。 如图: P1 P2 5. 外形特征 外形特征是一种用一维函数表达边界的方法。基本思想是把边界的表示 降到一维函数。 定义质心角函数:边上的点到质心的距离r,作为夹角的θ的函数r(θ)。 θ θ。 r(θ) θ r A θ θ A 2π π 举例1:外部特征来进行形式化表示。 举例2:外部特征来进行形式化表示。 r θ r(θ) θ A A θ 2π π 外形特征存在的问题:函数过分依赖于旋转和比例的变化。 对于旋转变化的两种改进: a.选择离质心最远的点作为起点。 b.选择从质心到主轴最远的点作为起点。 对于比例变换的改进: 对函数进行正则化,使函数值总是分布在相同 的值域里,比如说[0,1]。 6. 边界分段 基本概念:一个任意集合S(区域)的凸起外缘H是:包含S的最小凸起的 集合。H-S的差的集合被称为集合S的凸起补集D。 边界分段算法:给进入和离开凸起补集D的变换点打标记来划分边界段。 优点:不依赖于方向和比例的变化。 边界分段问题:噪音的影响,导致出现零碎的划分。 解决的方法:先平滑边界,或用多边形逼近边界,然后再分段。 S D S+D=H S S 8.4 形态学描述简介 一个有效的二值图像处理运算集是从数学形态学下的集 合论方法发展起来的。尽管它的基本的运算很简单,但它们 和它们的推广结合起来可以产生复杂得多的效果。并且,它们 适合于用相应的硬件构造查找表的方式,实现快速的流水线处 理。这种方法通常用于二值图像,但也可以扩展到灰度级图像 的处理。 在通常的情况下,形态学图像处理以在图像中移动一个结构 元素并进行一种类似于卷积操作的方式进行。像卷积核一样, 结构元素可以具有任意的大小,也可以包含任意的0与1的组合。 在每个像素位置,结构元素核与在它下面的二值图像之间进行 一种特定的逻辑运算。逻辑运算的二进制结果存在输出图像 中对应于该像素的位置上。产生的效果取决于结构元素的大 小、内容以及逻辑运算的性质。 8.4.1 腐蚀和膨胀 基本的形态学运算是腐蚀和膨胀。根据定义,边界点是位于物体内 部,但至少有一个邻点位于物体之外的像素。 1.腐蚀(Erosion) 腐蚀(Erosion) 简单的腐蚀是消除物体的所有边界点的一种过程,其结果使剩下的物 体沿其周边比原物体小一个像素的面积。如果物体是圆的,它的直径在每 次腐蚀后将减少2个像素。如果物体任一点的宽度少于三个像素,那么它 在该点将变为非连通的(变为两个物体)。在任何方向的宽度不大于2个 像素的物体将被除去。腐蚀对从一幅分割图像中去除小且无意义的物体来 说是很有用的。 一般意义的腐蚀概念定义为: E=B?S={x,ySxy?B} 也就是说,由S对B腐蚀所产生的二值图像E是这样的点(x,y)的集合:如果 S的原点位移到点(x,y),那么S将完全包含于B中。使用基本的3×3结构元素 时,一般意义的腐蚀简化为简单腐蚀。 膨胀(dilation) 2. 膨胀(dilation) 简单膨胀是将与某物体接触的所有背景点合并到该物体中的过程。过程 的结果是使物体的面积增大了相应数量的点。如果物体是圆的,它的直径在 每次膨胀后增大两个像素。如果两个物体在某一点相隔少于三个像素,它们 将在该点连通起来(合并成一个物体)。膨胀在填补分割后物体中的空洞很 有用。一般膨胀定义为: D= B⊕S={x,ySxy∩B≠?} 也就是说,S对B膨胀产生的二值图像D是由这样的点(x,y)组成的集 合,如果S的原点位移到(x,y),那么它与B的交集非空。采用基本的3×3 结构造元素时,一般膨胀简化为简单膨胀。 3.开运算和闭运算 开运算 先腐蚀后膨胀的过程称为开运算。它具有消除细小物体、在 纤细点处分离物体、和平滑较大物体的边界时又不明显改变其面积的作用。 开运算定义为: BoS=(B?S)⊕S B S S 闭运算 先膨胀后腐蚀的过程称为闭运算。它具有填充物体内细小空洞、 连接邻近物体、在不明显改变物体面积的情况下平滑其边界的作用。闭运 算定义为: B?S=(B⊕S)?S ? 通常,当有噪声的图像用阈值二值化时,所得到的边界往往是很不平滑 的,物体区域具有一些错判的孔,背景区域上则散布着一些小的噪声物体。 连续的开和闭运算可以显著地改善这种情况。有时连接几次腐蚀迭代之后, 加上相同次数的膨胀,才可以产生所期望的效果。 4.腐蚀和膨胀的变体 4.腐蚀和膨胀的变体 通常反复施以腐蚀运算,将使一个物体变得不存在。类似地,反复膨胀将 把一幅图像中的所有物体合并为一个。然而,这些过程可以改变一下,以便 在一些应用中产生更合适的结果。 收缩(Shrinking) 1) 收缩(Shrinking) 当腐蚀以一种不触及单像素物体的方式执行时,这个过程称为收缩。当物 体总数必须保持不变时,这种方法很有用。 收缩可以迭代方式为一个包含近似圆形物体的二值图像生成物体尺寸 的分布。为图像 中的单像素物体计数的过程与一个3×3算子交替的执行。 每运行一次,半径减了一个像素,并有更多的物体收缩为单像素大小。记录下 每次迭代中的单像素物体数目,可给出物体大小 的累计分布。但收缩时会 使非常不圆的物体(如哑铃状的物体)分解,因此这种技术有它的局限性。 2) 细化 细化(Thinning) 腐蚀可编程为一个两步过程,以免分裂物体。第一步是一个正常的腐蚀, 但它是有条件的,也就是说,那些被标为可除去的像素点并不立即消去。在 第二步中,只将那些消除后并不破坏连通性的点消除,否则保留。以上每一步 都是一个3×3邻域运算,可用查表运算实现。 细化将一个曲线形物体细化为一条单像素宽的线,从而图形化地显示出其拓朴 性质。在下图中显示了细化一组染色体的过程(其中有些接触在一起),细化后生成了 一幅每个染色体是一条线段的图。这种方法可市作分隔有相互接触物体的算法的基 础。 细化 3)抽骨架(Skeletonization) 抽骨架(Skeletonization) 一个与细化有关的运算是抽骨架,也称为中轴变换(Medialaxis transform)或焚烧草地技术(grass-fire technigue)。中轴是所有与物 体在两个或更多非邻接边界点处相切的圆心的轨迹。但抽骨架很少通过 在物体内拟合圆来实现。 概念上,中轴可设想成按如下方式形成。想象一片与物体形状相同 的草,沿其外围各点同时点火。当火势向内蔓延,向前推进的火线相遇 处各点的轨迹就是中轴。 抽骨架的实现与细化相似,可采用一个两步有条件腐蚀实现,但是删除 像素的规则略有不同。下 图将细化与抽骨架进行比较。二者的主要的差 别在于抽骨架在拐角处延伸到了边界,而由细化得到的骨架却没有。 抽骨架 剪枝(Pruning) 4) 剪枝(Pruning) 通常,细化和抽骨架过程会在所生成的图中留下毛刺。这些毛刺是一些小 的分支。每个分支在距分叉处3个像素左右处有一个端点。毛刺是由边界上 单像素尺寸的起伏造成的,这些起伏产生了小的分支。它们可通过一系列的 消除端点的3×3运算(导致所有的分支缩短),然后再重建那些留下的分支。 例如,一个三像素的毛刺,在经过三次消除端点的迭代后即可消去。由于没有 赖以复原的端点留下,毛刺就不会被重建。 粗化(Thickening) 5) 粗化(Thickening) 膨胀也可以在不合并邻近的物体的条件下实现。与细化类似,它也可以分 两步进行。一种替代方法是取图像的补并用细化运算处理背景。实际上当每 种腐蚀的变形作用于一幅图像的补时,就会获得一种相应的膨胀型运算。 一些分割技术倾向于用紧贴的边界拟合物体以避免错误地合并它们。通常 孤立物体的最佳边界太紧贴并不利于后续测量。粗化可在不合并彼此分离 的物体的前提下扩大边界,从而修正了这种不足。 举例: 举例:下图说明了如何将形态学运算组合起来以实现一个复杂过程,通过 讨论对一幅印刷电路板图像的分析找到各线路中断点的位置。 (a)原灰度级图像;(b)二值化后的图像;(c)用开运算清除噪声;(d)用腐蚀和膨胀抽 取各结点;(e)抽骨架分离各线路; (f)线路、结点和端点的最终显示

本文链接:http://organikhijau.com/jumiaoshuzi/336.html

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top