• 第 10 周 周二 实验四 图像压缩编码 周五 运动会,不上课• 第 11 周 周二 上课(复习) 周五 五一放假• 第 12 周 周二 实验五 手写体邮政编码识别 周五 ( 5 月 8 日)考试: 13 : 15 - 15 :
15
三教 107
7-2 纹理特征提取
纹理 : 把图象的局部不规则而宏观有规律的特性称之为纹理。
纹理区域:以纹理特性为主导的图像区域。
• 纹理是对图象的象素灰度级在空间上的分布模式的描述,反映物品的质地,如粗糙度、光滑性、颗粒度、随机性和规范性等。
• 它们反映了物体表面颜色和灰度的某种变化。这些变化与物体本身的属性相关。
• 当图象中大量出现同样的或差不多的基本图象元素(模式)时,纹理分析是研究这类图象的最重要的手段之一。
纹理特征提取
• 描述一块图象区域的纹理有三种主要的方法,统计分析方法、结构分析方法和频谱分析方法。
自然纹理:具有重复性排列现象的自然景象,无规则; 人工纹理:是由自然背景上的符号排列组成、有规则的。
纹理特征提取
•统计方法 Statistical approach
– 有基于图像灰度直方图的矩分析法、灰度共生矩阵法、灰度行程和自回归模型。
– 统计方法将纹理描述为光滑、粗糙、粒状等等。
纹理特征提取
• 结构方法 Structural approach
– 研究基元及其空间关系。基元一般定义为具有某种属性而彼此相连的单元的集合,属性包括灰度、连通区域的形状、局部一致性等。空间关系包括基元的相邻性、在一定角度范围内的最近距离等等。根据基元间的空间联系,纹理可以分为弱纹理或强纹理。进一步细分,可以根据基元的空间共生概率来划分,也可以根据单位面积内的边缘数来区别。
纹理特征提取
•频谱方法 Spectral approach
– 根据傅立叶频谱,根据峰值所占的能量比例将图象分类。包括计算峰值处的面积、峰值处的相位、峰值与原点的距离平方、两个峰值间的相角差等手段。
灰度直方图分析法 为了研究两种纹理区域的灰度直方图的相似性,可以比较累积灰度直方图分布,计算直方图的均值或方差。 但是灰度直方图不能得到纹理的二维灰度变化。如下图中两种纹理具有相同的直方图,只靠直方图就不能区别这两种纹理。
常用的几种纹理特征分析方法
灰度共生矩阵法 The Gray-level Co-occurrence Matrix
–共生矩阵用两个位置的象素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的象素之间的位置分布特性,是有关图象亮度变化的二阶统计特征。它是定义一组纹理特征的基础。
The Gray-level Co-occurrence Matrix
• 定义:位置算子 δ10
δ01δ11
Δy
Δx
•假设给定如下的仅具有 3个灰度级的图象区域,分别记数符合上述位置算子的象素空间组合的数目形成频度矩阵,再将其归一化,即除以符合位置关系的总数就得到共生矩阵。共生矩阵的阶数与图象的灰度级别数相等。
22211
22110
21100
11000
10000
The Gray-level Co-occurrence Matrix
S
gyxfgyxfSyxyxggP
#
,&,|,,,#, 2221112211
21
上式等号右边的分子是具有某种空间关系、灰度值分别为 g1 和 g2 的象素对的个数,分母为象素对的总和个数 (#代表数量 )。这样得到的 P 是归一化的。
[ 定义 ] 设 S 为目标区域 R 中具有特定空间联系的象素对的集合,则共生矩阵 P 可定义为
The Gray-level Co-occurrence Matrix
3002
3401
0460
21001
1002
5001
0730
21011
3002
3401
0460
21010
频度矩阵
22211
22110
21100
11000
10000
The Gray-level Co-occurrence Matrix
δ δ δ
频度矩阵
The Gray-level Co-occurrence Matrix
100500073
16
1
300340046
201
11
0110
的共生矩阵 :
的共生矩阵:,位置算子
0 1 2 3 0 1 2 3
1 2 3 0 1 2 3 0
2 3 0 1 2 3 0 1
3 0 1 2 3 0 1 2
0 1 2 3 0 1 2 3
1 2 3 0 1 2 3 0
2 3 0 1 2 3 0 1
3 0 1 2 3 0 1 2
纹理 A 纹理 B
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
8000
8800
0880
0088
10P
例
00210
00031
12000
02100
11P
西北到东南方向( δ11 )水平向右方向( δ10 )
14000
04100
00410
00041
01P
0 1 2 3 0 1 2 3
1 2 3 0 1 2 3 0
2 3 0 1 2 3 0 1
3 0 1 2 3 0 1 2
0 1 2 3 0 1 2 3
1 2 3 0 1 2 3 0
2 3 0 1 2 3 0 1
3 0 1 2 3 0 1 2
纹理 A 纹理 B
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
12000
02100
00210
00021
00P
东北到西南方向( δ-11 )垂直向下方向( δ01 )
主对角线元素的作用 :
由于沿纹理方向上相近象素的灰度基本相同 , 垂直纹理方向上相近象素间有较大灰度差 , 因此主对角线元素的大小有助于判别纹理的方向和粗细,对纹理分析起着重要作用。
( 1 )方向判断:纹理 A 为 90 o 方向,纹理B为45o 方向。因纹理 A 的垂直方向的共生矩阵和纹理B的 45o 方向的共生矩阵的主对角线元素值很大,其他元素值全为0,正说明沿着纹理方向上没有灰度变化。
14000
04100
00410
00041
01P
纹理 A
33221100
33221100
33221100
33221100
33221100
33221100
33221100
33221100
垂直向下方向( δ01 )21032103
10321032
03210321
32103210
21032103
10321032
03210321
32103210
纹理 B
12000
02100
00210
00021
00P
东北到西南方向( δ-11 )
( 2 )粗细判断:纹理 A 纹理较粗,纹理B较细。
观察纹理 A 的水平方向的共生矩阵和纹理B的 135o 方向的共生矩阵可知,纹理B主对角线元素全为0,说明在垂直纹理方向上灰度变化频繁,故纹理细;而纹理 A 主对角线元素不为0,说明相邻象素的灰度变化缓慢,故纹理粗。
纹理 A
33221100
33221100
33221100
33221100
33221100
33221100
33221100
33221100
8000
8800
0880
0088
10P
水平向右方向( δ10 )21032103
10321032
03210321
32103210
21032103
10321032
03210321
32103210
纹理 B
00210
00031
12000
02100
11P
西北到东南方向( δ11 )
元素值的离散性分析 :
灰度共生矩阵中元素相对于主对角线的分布 ------ 离散性;反映纹理的粗细
(1) 离散性大:离开主对角线的元素的归一化值高,说明图中垂直于该方向的纹理较细。
21032103
10321032
03210321
32103210
21032103
10321032
03210321
32103210
纹理 B
00210
00031
12000
02100
49/111P
西北到东南方向( δ11 )
NO18.2
元素值的离散性分析 :
灰度共生矩阵中元素相对于主对角线的分布 ------ 离散性;反映纹理的粗细
(2) 离散性小:离开主对角线的元素的归一化值低,说明图中垂直于该方向的纹理较粗。
纹理 A
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
0 0 1 1 2 2 3 3
8000
8800
0880
0088
56/110P
水平向右方向( δ10 )
如果一幅图象主要包含细的纹理 , 其灰度共生矩阵中的数值则散布在远离对角线处 , 例如图 1.而如果一幅图象主要包含粗的纹理 , 其灰度共生矩阵中的数值较集中于主对角线附近 , 例如图 2.
Fig. 2 Fine texture image and its co-occurrence matrix
Fig. 1 Coarse texture image and its co-occurrence matrix
例 : 图象和其灰度共生矩阵
纹理的统计特征
•基于共生矩阵的纹理特征 选择合适的位置算子,计算出共生矩阵,然后可以计算如下的纹理描述特征:
对灰度共生矩阵的各种统计量可作为纹理特性的度量。
i j
ijp2
① . 二阶矩 The second moment :
二阶矩是图象灰度分布均匀性的度量。
当图象灰度分布均匀时,纹理较粗,由于 p 的数值较集中于主对角线附近 , 相应的二阶矩值较大 ; 反之值则较小。
i j
ijij pp log②. 熵:
此处熵是图象所具有的纹理信息量的度量。
若图象充满细纹理,则 p 的数值近似相等,图象的熵值很大;若分布着较少的纹理,则 p 的数值差别较大,熵值较小。
纹理分析的自相关函数法 设图像为 f(i , j) ,则该图像的自相关函数定义为 :
1
0
1
0
2
1
0
1
0
),(
),(),(
),( w
i
h
j
w
i
h
j
jif
jyxifjif
yx
w , h 分别为窗口的宽和高; x, y 分别为横、纵方向的偏移量。
1
0
1
0
2
1
0
1
0
),(
),(),(
),( w
i
h
j
w
i
h
j
jif
jyxifjif
yx
当( x,y )固定不变时,粗纹理的 ρ比细纹理的 ρ 大。当 x=y=0 时, ρ 达到最大值。
傅立叶频谱法傅立叶频谱法——将二维频谱转化为一维图像将二维频谱转化为一维图像
原图Fourier
系数图像(极坐标 S(r,θ) )
FFT2D+FFTSHIFT
将每个区域像素求和
0
)()( rSrS
0
1
)()(R
rrSS 将每个区域
像素求和
按角度划分区域
Sθ(r)
Sr(θ)按 半 径 划
分 区 域
傅立叶频谱法傅立叶频谱法
Originalimage
2D Spectrum(Fourier Tr.)
S(r) S()
Anotherimage
Another S()
45 90 135
90
7-3 颜色特征提取
• 引言 人眼对彩色的分辨率大大高于对黑白
图像的分辨率。彩色图像所带的信息,远远大于灰度图像。因此,在计算机图像处理中,颜色的特征提取占有很重要的地位。
颜色特征提取
• 为减少真实彩色所带来的海量数据,前人提出采用 R 、 G 、 B (三基色波长( CIE ) Blue: 435.8nm, Green: 546.1nm, Red: 700nm )相加法实现自然色彩的表示、传输与还原。
颜色特征提取
• 颜色表示系统– 虽然 RGB 系统广泛应用于电视传输、彩色成象,但 RGB 系统与人眼对颜色的识别方式还是有一定的差距的。常用的彩色表示系统还有 HSV 、 YCrCb 、 YUV 、 YES 等。
颜色特征提取
• HSV 颜色模型根据人眼对颜色感知的视觉特性, RGB 颜色空间可以变换到 HSV ( Hue, Saturation, Value )色彩空间,即在此空间一点的颜色可以由色度、饱和度和亮度值来表示。 HSV空间可以用一个锥体表示 .
颜色特征提取
从 RGB 空间到 HSV 空间的转换关系如下
I
BGRS
BG
BGRFBGBGFH
BGRI
),,min(1
2,,180;,0)3/arctan(90
360
13
其中
颜色特征提取
由 HSI 变换为 RGB 坐标的公式如下
BGIRSI
GH
HSIBH
GRIBSI
RH
HSIGH
BRIGSI
BH
HSIRH
3),1(3
,)300cos(
)240cos(1
3360240)3(
3),1(3)180cos(
)120cos(1
3,240120)2(
3),1(3
,)60cos(
)cos(1
31200)1(
0
000
0
000
000
时,当
时,当
时,当
颜色特征提取应用:人脸识别中的人脸分割
通过对实验室的环境下人脸肤色块图像的统计,得到人脸肤色在不同的颜色空间分布如下:
肤色像素 在 RGB 空间分布
颜色特征提取
肤色像素 (a) 在 HS 平面分布 (b) 在 HSV 空间分布
(b)(a)
颜色特征提取用肤色模型进行人脸分割及实验结果 HSV 颜色空间比 RGB 空间更加接近人眼睛对颜色的感知机理,它分离了颜色的亮度和色度信息,因此选择HSV 颜色模型作为肤色模型空间。
通过实验选择HSV肤色模型的参数如下: H[0, 0.139][0.944, 1] , S[0.15, 0.68] 利用此参数对一张在实验室照的照片进行肤色区域的分割,对分割的结果应用高斯低通滤波器消除一些面积很小的连通区域。分割结果如图 (b) 所示,滤波和填充连通区域后的结果如图 (c) 所示:
颜色特征提取
(a) 原始图像 (b) 分割图像 (c)滤波填充后图像
(a) (b)
(c)
7-4 形态学图像处理方法简介Morphological Image Processing
形态学运算是针对二值图象依据数学形态学的集合论方法发展起来的图象处理方法 , 它以形态为基础对图像进行分析。
数学形态学起源于岩相学对岩石结构的定量描述工作。
原理:用具有一定形态的结构元素 (SE)去量度和提取图象中的对应形状,以达到对图象分析和识别的目的。
应用:简化图象数据并保持图象基本形状特性,同时除去不相干的结构。在数字图象处理和机器视觉领域中得到了广泛的应用,形成了一种独特的数字图象分析方法和理论。
扩张(膨胀)
侵蚀(腐蚀)
开启( opening )闭合( closing )
数学形态学的四个最重要的算符是:
一、扩张(膨胀 dilation )
扩张的算符:
设 X 为数据集, B 为结构元素, X 被 B 扩张定义为 :
}ˆ|:{ ZZ
上式表示 :B 的反射进行平移与X的交集不为空集•扩张的实质:一个由所有平移量 Z 组成的集合。
∴ X被按 B 的形态扩大了一定的范围 注意:扩张算符不具有同前性
扩张(膨胀)可将与物体接触的所有背景点合并到该物体中,使边界向外部扩张。可以用来填补物体中的空洞。
扩张应用举例 : 连接文字裂缝
二、侵蚀( erosion )
上式含义:数据集 X 用结构元素 B 来侵蚀得到的集合是 B 完全包含在 X 中时 B 的原点位置的集合。
侵蚀的算符:
X 被 B腐蚀定义为: })(:{ XBzBX z
侵蚀可消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体。
注意:侵蚀算符不具有同前性
四、开启( opening )和闭合( closing )
数据集 X 和结构元素 B 的开启运算可表达为
BBXBX )(
开启操作的作用:
使图像的轮廓变得光滑,断开狭窄的间断和消除细的突出物。
闭合操作的作用:
同样使图像的轮廓变得光滑,但与开操作相反,它能消除小的孔洞,填平狭窄的断裂和长细的鸿沟,并填补轮廓线中的裂痕。
数据集 X 和结构元素 B 的闭合运算可表达为
BBXBX )(
注意:开启和闭合操作具有同前性
例
开启
运算
开启运算起分离作用,比结构元素小的孤立部分(小分支)都将被过滤掉,而 X 的主要情节保持不变
例
闭合
运算
闭合运算起着连通补缺的作用,其主要情节不变
开启举例开启举例
结构元
Matlab
IM1= imdilate (IM,SE)
IM1= imerode (IM,SE)
IM1= imopen (IM,SE)
IM1= imclose (IM,SE)
Bw=bwmorph(bw1,operation,n)
形态学处理函数
Example:
I=imread(‘circles.tif’);
imshow(I);
Se=strel(‘disk’, 8 , 8); % 生成圆形结构元素
I1=imdilate(I, Se);
imshow(I1);
I2=imerode(I,Se);
imshow(I2);
例:边界提取例:边界提取
BAAβ(A)
原图 边界
开启举例
处理目的:选取出四种取向的椭圆体
四种结构元素
∴开启运算起了很好的形状提取作用
形态学操作举例形态学操作举例 指纹增强
即
作业 : 作业 3: 某图像纹理如下所示,式计算该纹理 δ10 、
δ01 、 δ11 三个方向的灰度共生矩阵。
12300123
03
32
21
012330122301
321
210
103
03210
301223011230
210
103
032
321
实验五 手写体邮政编码识别第一步 :
图象分割
• zip=imread('zip5.tif');• hue = color(zip); % 自编• hsv = rgb2hsv(zip);• if hue > ***• blk = hsv(:,:,?)<?;• else • …… % special for zip1.tif,zip3.tif,zip4.tif,• end
取出六个数,结果如:
function [bw1,next] = crop(bw)
Crop 子程序中的形态学命令:
• blk = imclose(blk,se);
• blk = bwmorph(blk,'clean',1);
• blk = bwmorph(blk, 'thin', inf);
∴第一步得到六个数字图片,每个数字处理为单像素连通的形式。
对书写体数字的识别 * ( zip0 ) 0 1 2 3 4 5 6 7 8 9
第二步 : 特征提取和识别 1. 计算欧拉数;
eul = bweuler (bw, n)
euler=0, 可能的数有 0 , 4 , 6 , 9
euler= -1, 8
euler=1 ,可能的数有 1 , 2 , 3 , 5 , 7
2.找端点 :
function g=endpoints(f) (自编)g返回的是端点图 : ( 数字 4)
如: euler=0 时 , 可能的数有0 , 4 , 6 , 9 Endpoint 数 =1 : 6 9 ;
Endpoint 数 =0 : 0 ;
Endpoint 数≥ 2 : 4 , 8* ;
再根据端点的位置区分: 6和9
区分: 1 2 3 5 7 ( Euler=1 )
Endpoint=2: 1 2 5 7
Endpoint=3: 3
3.根据端点方向数来区分 : 1 2 5 7
orient=1 : 1 2
orient=4 : 5
orient=0: 70
1
4
6
7
23
5
function[orient,n]= connex (bw,r,c) (自编)