边缘识别
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∘的偏离。