边缘识别
5.1 介绍
边缘识别一直作为图像分割的一个可供选择的方式,因为其在额外数据空间和计算量的优势(典型的可以节约100倍)。
两种主要的方式:
1.template matching(TM),模板匹配。
2.differential gradient(DG),梯度差分。
两种方式都是寻找足够大的梯度幅值g,以作为边缘的象征。
两种方式区别在于评价局部梯度g的方式不同,以及判断边缘方向的方式不同。
5.2 边缘识别的基本理论
计算g:
TM:对12个评估不同方向梯度的模板卷积,取最大值。
g=max(gi:i=1 to n)
DG:仅需两个模板,分别评价x方向梯度
gx
和y方向梯度
gy
,使用非线性变换。
g=(g2x+g2y)1/2
为了节省计算量,通常被简化为
g=|gx|+|gy|
或
g=max(|gx|,|gy|
)
计算方向:
TM:使用g取最大值的i对应的方向。
DG:
θ=arctangygx
比较:
DG需要更多计算量,尽管更加精确。由于很多时候不需要方向数据,或者图像对比度范围较大,取得精确的g值意义不大,所以TM被较为广泛的使用。两者都涉及局部梯度的评估,TM和DG的卷积蒙版经常完全相同。
DG算子:
Roberts 2*2 |
Rx
=
[0−110]
|
Ry
=
[100−1]
|
Sobel 3*3 |
Sx
=
⎡⎣⎢−1−2−1000121⎤⎦⎥
|
Sy
=
⎡⎣⎢10−120−210−1⎤⎦⎥
|
Prewitt 3*3 |
Px
=
⎡⎣⎢−1−1−1000111⎤⎦⎥
|
Py
=
⎡⎣⎢10−110−110−1⎤⎦⎥
|
5.3 TM
另外6个角度可以通过外圈系数的旋转或者对称变换得到
0∘ | 45∘ | |
---|---|---|
Prewitt |
⎡⎣⎢−1−1−11−21111⎤⎦⎥
|
⎡⎣⎢1−1−11−2−1111⎤⎦⎥
|
Kirsch |
⎡⎣⎢−3−3−3−30−3555⎤⎦⎥
|
⎡⎣⎢−3−3−350−355−3⎤⎦⎥
|
Robinson 3-Level |
⎡⎣⎢−1−1−1000111⎤⎦⎥
|
⎡⎣⎢0−1−110−1111⎤⎦⎥
|
Robinson 5-Level |
⎡⎣⎢−1−2−1000121⎤⎦⎥
|
⎡⎣⎢0−1−2101210⎤⎦⎥
|
5.4 3*3模板算子的理论
由于另外6个方向的蒙版和
0∘
和
45∘
的只有符号之间的区别,仅用这两者表示。
由于
g45=g0+g902√
解得
C=B2√
D=A2√
进一步根据
22.5∘
处的梯度,得到
BA=2√9t2−(14−42√)t+1t2−(10−42√)t+1
其中
t=tan22.5∘
BA=132√−47=2.055
5.5 DG算子的设计
离散图像取方形邻域进行估计会导致梯度方向最大 6.63∘ 的偏离。