第11章_图像表示与描述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
表示与描述
概述 对目标特征的测量是要利用分割结果进一步从图像 中获取有用信息,为达到这个目的需要解决两个关键 问题: 选用什么特征来描述目标 如何精确地测量这些特征 常见的目标特征分为灰度(颜色)、纹理和几何形 状特征等。其中,灰度和纹理属于内部特征,几何形 状属于外部特征
主要内容
一 表示方法 二 边界描绘子 三 区域描绘子 四 运用主分量进行描述 五 关系描绘
(4)聚合技术 A、算法步骤:
1)沿着边界选两个相邻的点对,计算首尾连接直 线段与原始折线段的误差R。
2)如果误差R小于预先设置的阈值T。去掉中间点, 选新点对与下一相邻点对,重复1);否则,存 储线段的参数,置误差为0,选被存储线段的终 点为起点,重复1)2)。 3)当程序的第一个起点被遇到,程序结束。
对于满足以下四个条件的边界点打标记准备删除:
(a) 2N(p1)6
( N(p1)=p2+p3+…+p9,是点p1邻域中1的个数) (b) T(p1) = 1
(T(p1)是按p2,p3,…,p9,p2顺序,0-1转换的个数)
(c) p2 * p4 * p6 = 0 (d) p4 * p6 * p8 = 0 p9 p2 p3 (p2 、p4 、p6 至少有一个0) (p4 、p6 、p8 至少有一个0) p9 p2 p3 p9 p2 p3
(3)存在问题 函数过分依赖于旋转和比例的变化。 (4)改进措施-----旋转不变 A、选择离质心最远的点作为起点; B、使用差分链码的方法。 (5)改进措施-----比例不变 对函数进行正则化,使函数值总是分布在相 同的值域里,比如说[0,1]。 A、利用长短轴进行正则化; B、利用所有边界样本进行正则化。?
形状数与方向无关
序号为8的形状数举例:
序号8 序号8 序号8
链码:00332211 首差:30303030 形状:03030303
链码:03032211 首差:33133030 形状:03033133
(2)多边形方法的基本思想
多边形是一系列线段的封闭集合,它可用来逼近 大多数使用的曲线到任意的精度。
在实际中多边形表达的目的:要用尽量少的线段 来代表边界并保持边界的基本形状,从而用较简单的 形式来表达和描述边界。
(3)基于收缩的最小周长多边形法 将边界看成是有弹性的线,将组成边界的像素系 列的内外边各看成一堵墙,如将线拉紧则可到最小周 长多边形。
• • • • • • • • • • • • • • • •
计算一个区域的骨骼 程序 clear all; >> I=imread('D:\aa1.jpg'); >> I1=rgb2gray (I); >> figure,imshow(I1); >> f=im2double(I1); >> h=fspecial('gaussian',25,15); >> g=imfilter(f,h,'replicate'); >> figure,imshow(g); >> g=im2bw(g,1.5*graythresh(g)); >> figure,imshow(g); >> s=bwmorph(g,'skel',Inf); >> figure,imshow(s); >> s1=bwmorph(s,'spur',8); >> figure,imshow(s1);
表示与描述
概述 表示是直接具体地表示目标,好的表示方法应具有节省存 储空间、易于特征计算等优点。 描述是较抽象地表示目标。好的描述应在尽可能区 别不同目标的基础上对目标的尺度、平移、旋转等不 敏感,这样的描述比较通用。 描述可分为对边界的描述和对区域的描述。此外, 边界和边界或区域和区域之间的关系也常需要进行描 。述 表示和描述是密切联系的。表示的方法对描述很重 要,因为它限定了描述的精确性;而通过对目标的描 述,各种表示方法才有实际意义。
p B R
(3)存在问题:计算量大
(4)算法改进思想
在保证产生正确的骨架的同时,改进算法的效率。 比较典型的是一类细化算法,它们不断删去边缘点,但 要受到下列条件约束: A、不移去端点
B、不破坏连通性 C、不引起区域的过度腐蚀
(5)一种细化二值区域的算法 假设区域内的点值为1,背景值为0。由两个基本操作组成。 A、基本操作1
p8 p1 p4
p7 p6 p5
p8 p1 p4
p7 p6 p5
p8 p1 p4
p7 p6 p5
所有条件都满足,才打删除标记。删除并不立即 进行,而是等到对所有边界点都打完标记后,再把作 了标记的点一起删除
举例: 1 p1 0 p8 p1 p4 p8 p1 p4 N(p1) = 4 1 0 1 p7 p6 p5 p7 p6 p5 T(p1) = 3 p2*p4*p6 = 0 p4*p6*p8 = 0 第2个条件没满足不打标记
边界最小轴b
(4)曲率 定义为斜率的改变率,描述了边界上各点沿边界方 向的变化量。用相邻边界线段(描述为直线)的斜率差 作为在边界线交点处的曲率描述子。
k2
a
k1
dk = k1 – k2
交点a处的曲率为
在一个边界点的曲率的符号描述了边界在该点的凹凸 性。如果曲率大于零,则曲线凹向朝着该点法线的正向。 如果曲率小于零,则曲线凹向朝着该点法线的负方向。
P1
P2
2 形状数
(1)定义:形状数是链码的最小值的差分码。
例如:基于4—方向的链码为:10103322,差分码为: 33133030,形状数为:03033133。 (2)形状数的阶(order)
形状数序列的长度(即链码的个数)。对闭合曲线,阶总 是偶数。对凸形区域,阶对应边界外包矩形的周长。
序号为4、6、8的形状数举例: 序号4 序号6 序号8
二 边界描绘子
一些简单的描绘子 形状数 傅里叶描绘子 统计矩
11.2 边界描绘子
1 一些简单的描绘子
(1)边界的长度 A、定义:区域的边界长度。 B、计算方法
1)周长用边界所占面积表示, 也即边界点数之和, 每个点 占面积为1的一个小方块。
2) 当把像素看作一个个点时,则周长用链码表示。此时, 当链码值为奇数时,其长度记作 2 ; 当链码值为偶数时,其 长度记作1。即周长p表示为
另一起点:33221010
(6) 链码的旋转归一化
A、问题
用链码表示给定目标的边界时,如果目标旋转,则链 码会发生变化。 B、解决方法 利用链码的一阶差分来重新构造1个序列(1个表示原 链码各段之间方向变化的新序列)。这相当于把链码进行 旋转归一化。
0 0 1 2 2 1 3 3
(2) 1 3 3
R
R < T
B、聚合算法存在的问题:
顶点一般不对应于边界的拐点(如拐角)。因为 新的线段直到超过误差的阈值才开始。
(4)拆分技术
方法:将一条线段不断的分割为两个部分,直到满
足定好的某一标准。 算法步骤: 1)连接边界线段的两个端点(如果是封闭边 界,连接最远点);
2)如果最大正交距离大于阈值,将边界分为
0 1 1 3
0 3
3 3 0
2 2 3 0
(3) 2 3 3
1 2
1
0 0
3 3 1
0
0 3
1 3 3
0 3 0
2 1 2
逆时针旋转9 0°
3
原码 链码 10103322 4方向差分: 33133030
旋转90度码 21210033 33133030
2 多边形近似 (1)问题的引出 实际应用中的数字边界常由于噪声、采样等的影 响而有许多较小的不规则处,这些不规则处常对链码 和边界段表达产生较明显的干扰影响。
0
0
1
p9 p2 p3
p9 p2 p3
B、基本操作2 条件(a)、(b)与操作1相同,条件(c)、(d)改为: c’) p2* p4* p8= 0 d’) p2* p6* p8= 0
p9 p2 p3 p8 p1 p4 p7 p6 p5
p9 p2 p3 p8 p1 p4 p7 p6 p5
• 细化算法的迭代包括: (1)执行第一步,对需要删除的边界点进行标记; (2)删除做了标记的点; (3)执行第二步,对其余要删除的边界点进行标记; (4)删除标记了的点; 反复进行这一基本过程,知道在没有可删除的点,此时算 法结束,生成了区域的骨架。
链码:0321 首差:3333 形状:3333
链码:003221 首差:303303 形状:033033
链码:00032221 首差:30033003 形状:00330033
序号为6的形状数举例:
序号6
序号6
链码:003221 首差:303303 形状:033033
链码:033211 首差:330330 形状:033033
第11章 表示与描述
表示与描述
引言:将一副图像分割为区域后,接下来通常要对分割区域 加以表示和描述,是“自然状态的”像素更适合计算机处 理。 概述 描述是较抽象地表示目标。好的描述应在尽可能区 别不同目标的基础上对目标的尺度、平移、旋转等不 敏感,这样的描述比较通用。 描述可分为对边界的描述和对区域的描述。此外, 边界和边界或区域和区域之间的关系也常需要进行描 述。 表示和描述是密切联系的。表示的方法对描述很重 要,因为它限定了描述的精确性;而通过对目标的描 述,各种表示方法才有实际意义。 表示和描述又有区别,表示侧重于数据结构,而描 述侧重于区域特性以及不同区域间的联系和差别。
(4)改进措施 对原边界以较大的网格重新采样,并把与原边界点 最接近的大网格点定为新的边界点。
总结重采样的规则。
(5)链码的起点归一化
A、问题的引出
链码起点的选择常是很关键的。对同一个边界, 如用不同的边界点作为链码起点,得到的链码是不同 的。 B、归一化 给定1个从任意点开始而产生的链码,可把它看作 1个由各方向数构成的自然数。将这些方向数依1个方 向循环以使它们所构成的自然数的值最小。我们将这 样转换后所对应的链码起点作为这个边界的归一化链 码的起点。
两段,最大值点定位一个顶点。重复1); 3)如果没有超过阈值的正交距离,结束。
3 标记 (1)基本思想 标记是边界的1-D泛函表达,其基本思想是把2-D的 边界用1-D的较易描述的函数形式来表达。 (2)最简单的标记方法 先对给定的物体求出质心,然后把边界点与质心 的距离作为角度的函数就得到一种标记。
(2)链码表示的特点 A、只有边界的起点需用绝对坐标表示,其余点都 可只用接续方向来代表偏移量; B、与用坐标值相比,链码表达可大大减少边界表 示所需的数据量。
(3)存在的问题 直接对分割所得的目标边界编码,有可能出现如下 问题: A、产生的码串通常很长;
B、噪声等干扰会导致小的边界变化而使链码发生 与目标整体形状无关的较大变动。
一 表示方法
1 链码
(1)概念 链码是对边界点的一种编码表示方法,其基本思想是 利用一系列具有特定长度和方向的相连的直线段来表示目 标的边界。
举例:若设起始点O的坐标为(5,5),则分别用如 下4方向和8方向链码按逆时针顺序表示区域边界: 4方向链码: (5, 5)1 1 1 2 3 2 3 2 3 0 0 0; 8方向链码: (5, 5)2 2 2 4 5 5 6 0 0 0。
5 骨架
(1)基本思想
表示一个平面区域结构形状的一种重要方法是把 它削减成图形。这种削减可以通过细化(也称为抽骨 架)算法,获取区域的骨架来实现。
(2)Blum的中轴变换方法(MAT) 设:R是一个区域,B为R的边界点,对于R中的 点p,找p在B上“最近”的邻居。如果p有多于一个的 邻点,称它属于R的中轴(骨架)
p Ne 2N
(2)边界的直径
Diam(B) = max[D(pi,Leabharlann Baidupj)]
(3)边界线的离心率:长轴和短轴的比率。 A、边界最大轴a:是连接距离最远的两个点的线段。
B、边界最小轴b:与最大轴垂直,且其长度确定的包
围盒刚好包围边界。 C、基本矩形: 包围边界的矩形。
边界最大轴a
基本矩形
4 边界分段
(1)基本概念
A、一个任意集合S(区域)的凸起外缘H是:包含S 的最小凸起的集合。 B、H-S的差的集合被称为集合S的凸起补集D。 S S D
S+D=H
(2)分段算法:
给进入和离开凸起补集D的变换点打标记来划分边 界段。 S
(3)优点:不依赖于方向和比例的变化
(4)存在问题 噪音的影响,导致出现零碎的划分。 (5)改进措施 先平滑边界,然后再分段。