当前位置:文档之家› 第六章 图像表示与描述

第六章 图像表示与描述


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
练习:
分别写出下面目标的4连接和8连接链码、最小值链 码和差分链码。分别以(1,2)、(2,1 )点为起点, 顺时针进行。
(3)基于收缩的最小周长多边形法 将边界看成是有弹性的线,将组成边界的像素系 列的内外边各看成一堵墙,如将线拉紧则可到最小周 长多边形。
(4)聚合技术 A、算法步骤:
1)沿着边界选两个相邻的点对,计算首尾连接直 线段与原始折线段的误差R。
2)如果误差R小于预先设置的阈值T。去掉中间点, 选新点对与下一相邻点对,重复 1 );否则,存 储线段的参数,置误差为 0 ,选被存储线段的终 点为起点,重复1)2)。 3)当程序的第一个起点被遇到,程序结束。
(1)定义:形状数是链码的最小值的差分码。
例 如 : 基 于 4— 方 向 的 链 码 为 :10103322, 差 分 码 为 : 33133030,形状数为:03033133。 (2)形状数的阶(order)
形状数序列的长度(即码的个数)。对闭合曲线,阶总是 偶数。对凸形区域,阶对应边界外包矩形的周长。
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
随堂练习:(骨架抽取)
B、不破坏连通性 C、不引起区域的过度腐蚀
(5)一种细化二值区域的算法 假设区域内的点值为1,背景值为0。由两个基本操作组成。 A、基本操作1
对于满足以下四个条件的边界点打标记准备删除:
(a) 2N(p1)6
( N(p1)=p2+p3+…+p9,是点p1邻域中1的个数) (b) S(p1) = 1
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 S(p1) = 3 p2*p4*p6 = 0 p4*p6*p8 = 0 第2个条件没满足不打标记
边界最大轴a
基本矩形
边界最小轴b
(4)曲率 定义为斜率的改变率,描述了边界上各点沿边界方 向的变化量。用相邻边界线段(描述为直线)的斜率差 作为在边界线交点处的曲率描述子。
k2
a
k1
dk = k1 – k2
交点a处的曲率为
在一个边界点的曲率的符号描述了边界在该点的凹凸 性。
P1
P2
2 形状数
形状数与方向无关
序号为8的形状数举例:
序号8 序号8 序号8
链码:00332211 链码:03032211 首差:30303030 首差:33133030 形状:03030303 形状:03033133
链码:00323211 首差:30331330 形状:03033133
(3)存在问题 虽然链码的首差是不依赖于旋转的,但一般情 况下边界的编码依赖于网格的方向。 (4)改进措施(规整化网格方向)
p Ne 2N
随堂练习:(周长计算)
(2)边界的直径
Diam(B) = max[D(pi, pj)]
(3)边界线的离心率:长轴和短轴的比率。 A、边界最大轴a:是连接距离最远的两个点的线段。
B、边界最小轴b:与最大轴垂直,且其长度确定的包
围盒刚好包围边界。 C、基本矩形: 包围边界的矩形。
1
2
0 3 链码:000033222121 首差:300030300313 形状:000303003133
3 傅里叶描绘子
(1)基本方法:
A、 将XY平面中的曲线段转化为复平面上的1个 序列,从而用复数的形式来表示给定边界上每个点 (x,y)。对1个由N个点组成的封闭边界,从任一点 开始绕边界1周就得到1个复数序列:
M-1
s’(k) = ∑a(u)exp(j2uk/N)
u=0
k=0,1,…,N-1
N=64
M=4
M=61
M=62
思考题:如何进行空间曲线平滑?
ห้องสมุดไป่ตู้
(3)使用价值
A、较少的傅立叶描述子(如4个),就可以获取 边界本质的整体轮廓;
B、这些带有边界信息的描述子,可以用来区分 明显不同的边界。 (4)优点 A、使用复数作为描述符,对于旋转、平移、放缩等操 作和起始点的选取不十分敏感。 B、几何变换的描述子可通过对函数作简单变换来获得。
R
R<T
B、聚合算法存在的问题:
顶点一般不对应于边界的拐点(如拐角)。因为 新的线段直到超过误差的阈值才开始。
(4)拆分技术
算法步骤:
1)连接边界线段的两个端点(如果是封闭边 界,连接最远点); 2)如果最大正交距离大于阈值,将边界分为 两段,最大值点定位一个顶点。重复1);
3)如果没有超过阈值的正交距离,结束。
A、问题的引出
链码起点的选择常是很关键的。对同一个边界, 如用不同的边界点作为链码起点,得到的链码是不同 的。 B、归一化 给定1个从任意点开始而产生的链码,可把它看作 1个由各方向数构成的自然数。将这些方向数依1个方 向循环以使它们所构成的自然数的值最小。我们将这 样转换后所对应的链码起点作为这个边界的归一化链 码的起点。
B、选择从质心到本征轴最远的点作为起点;
C、使用差分链码的方法。 (5)改进措施-----比例不变 对函数进行正则化,使函数值总是分布在相 同的值域里,比如说[0,1]。 A、利用长短轴进行正则化; B、利用所有边界样本进行正则化。
4 边界分段
(1)基本概念
A、一个任意集合S(区域)的凸起外缘H是:包含S 的最小凸起的集合。 B、H-S的差的集合被称为集合S的凸起补集D。 S S D
举例:若设起始点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。
(2)链码表示的特点 只有边界的起点需用绝对坐标表示,其余点都可 只用接续方向来代表偏移量。与用坐标值相比,链码 表达可大大减少边界表示所需的数据量。
(S(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
p8 p1 p4
p7 p6 p5
另一起点:33221010
(6) 链码的旋转归一化
A、问题
用链码表示给定目标的边界时,如果目标旋转,则链 码会发生变化。 B、解决方法 利用链码的一阶差分来重新构造 1 个序列(1个表示原 链码各段之间方向变化的新序列 )。这相当于把链码进行 旋转归一化。
0 0 1 2 2 1 3 3
(2) 1 3 3
(2)Blum的中轴变换方法(MAT) 设: R 是一个区域, B 为 R 的边界点,对于 R 中的 点p,找p在B上“最近”的邻居。如果p有多于一个的 邻居,称它属于R的中轴(骨架)
p B R
(3)存在问题:计算量大
(4)算法改进思想
在保证产生正确的骨架的同时,改进算法的效率。 比较典型的是一类细化算法,它们不断删去边缘,但保 证删除满足: A、不移去端点
序号为4、6、8的形状数举例: 序号4 序号6 序号8
链码:0321 首差:3333 形状:3333
链码:003221 首差:303303 形状:033033
链码:00032221 首差:30033003 形状:00330033
序号为6的形状数举例:
序号6
序号6
链码:003221 首差:303303 形状:033033 链码:033211 首差:330330 形状:033033
6.2 边界描绘子
1 一些简单的描绘子
(1)边界的长度 A、定义:区域的边界长度。 B、计算方法
1)周长用边界所占面积表示, 也即边界点数之和, 每个点 占面积为1的一个小方块。
2) 当把像素看作一个个点时,则周长用链码表示。此时, 当链码值为奇数时,其长度记作 2 ; 当链码值为偶数时,其 长度记作1。即周长p表示为
(3)存在的问题 直接对分割所得的目标边界编码,有可能出现如下 问题: A、产生的码串通常很长;
B、噪声等干扰会导致小的边界变化而使链码发生 与目标整体形状无关的较大变动。
(4)改进措施 对原边界以较大的网格重新采样,并把与原边界点 最接近的大网格点定为新的边界点。
总结重采样的规则。
(5)链码的起点归一化
第6章 表示与描述
图像描述实例:指纹图像描述
(a)Gabor滤波器; (b)小波变换; (c)细节点 (分叉点、端点)
主要内容
6.1 表示方法 6.2 边界描绘子 6.3 区域描绘子 6.4 运用主分量进行描述(自学)
6.1 表示方法
1 链码
相关主题