得鹿梦鱼 得鹿梦鱼

边缘检测

边缘检测一直是图像分割的另一种方法,无论二值化还是边缘检测那种本质上是好更好的方法,边缘检测还有另外一个优势,那就是它可以立即减少大多数图像数据中的冗余度,这是相当有用的,应为它显著减少了存储信息所需要的空间以及随后分析信息所需的处理量

有两种主要的边缘检测方法,一种是TM方法,一种是DG方法,在任何一种方法中,目的都是找到强度梯度幅度g足够大的位置,以作为物体边缘的可靠指示器,TM和DG方法的最大区别在于如何进行局部g的估计

基本理论

DG和TM算子都是借助于适当的卷积掩膜来估计局部强度梯度,

  • 在DG型算子的情况下,仅需要两个这样的掩膜---对于x和y方向
  • 在TM的情况下,通常使用多达12个卷积掩膜来估计梯度在不同方向上的局部分量

在TM方法中,局部边缘梯度幅度通过获取分量掩膜的最大响应来近似
g=maxgi:i=1,2,...,ng = maxg_i: i=1, 2,..., n
n通常为8或者12
边缘方向通常为梯度最大值的掩膜的边缘方向
在DG方法中,局部边缘幅度可以使用非线性变换的向量计算
g=gx2+gy212g=g_x^2 + g_y^2^\frac{1}{2}
为了节省计算量,通常使用一种更加简单的形式来近似
g=gx+gyg=maxgx,gyg=g_x + g_y \quad \text{或} g=maxg_x,g_y
边缘方向为
θ=arctangy/gx\theta = arctang_y/g_x

常见的微分边缘算子掩模

  • ‌Roberts算子‌

‌水平方向[1001]垂直方向[0110]\text{‌水平方向}\quad\begin{bmatrix}1 & 0 \\0 & 1\end{bmatrix}\quad\text{垂直方向}\quad\begin{bmatrix}0 & 1 \\1 & 0\end{bmatrix}
‌特点‌:边缘定位准确,但对噪声敏感,适用于边缘明显且噪声较少的图像‌

  • ‌Sobel算子‌

‌水平方向[101202101]垂直方向[121000121]\text{‌水平方向}\quad\begin{bmatrix}-1 & 0 & 1\\-2 & 0 & 2\\-1 & 0 & 1\end{bmatrix}\quad\text{垂直方向}\quad\begin{bmatrix}1 & 2 & 1\\0 & 0 & 0\\-1 & -2 & -1\end{bmatrix}

‌特点:‌对噪声有较好的抑制作用,边缘定位较为准确,常用于噪声较多、灰度渐变的图像‌

  • ‌Prewitt算子‌

‌水平方向[101101101]垂直方向[111000111]\text{‌水平方向}\quad\begin{bmatrix}-1 & 0 & 1\\-1 & 0 & 1\\-1 & 0 & 1\end{bmatrix}\quad\text{垂直方向}\quad\begin{bmatrix}1 & 1 & 1\\0 & 0 & 0\\-1 & 1 & -1\end{bmatrix}

‌特点:‌对噪声有一定的抑制作用,但边缘定位不如Sobel算子精确‌

3*3模板算子理论

[A0AB0BA0A][A0AB0BA0A][A0AB0BA0A][A0AB0BA0A]\begin{bmatrix}A & 0 & A\\B & 0 & B\\A & 0 & A\end{bmatrix}\quad\begin{bmatrix}-A & 0 & A\\-B & 0 & B\\-A & 0 & A\end{bmatrix}\quad\begin{bmatrix}-A & 0 & -A\\-B & 0 & -B\\-A & 0 & -A\end{bmatrix}\quad\begin{bmatrix}A & 0 & -A\\B & 0 & -B\\A & 0 & -A\end{bmatrix}

[0CDC0CDC0][0CDC0CDC0][0CDC0CDC0][0CDC0CDC0]\begin{bmatrix}0 & C & D\\C & 0 & C\\D & C & 0\end{bmatrix}\quad\begin{bmatrix}0 & C & D\\-C & 0 & C\\-D & -C & 0\end{bmatrix}\quad\begin{bmatrix}0 & -C & -D\\C & 0 & -C\\D & C & 0\end{bmatrix}\quad\begin{bmatrix}0 & -C & -D\\-C & 0 & -C\\-D & -C & 0\end{bmatrix}

上述8个掩膜,角度相差4545^\circ

如果在3×33 \times 3领域内的像素强度值
[abcdefghi]\begin{bmatrix}a & b & c\\d & e & f\\g & h & i\end{bmatrix}

g0=Ac+iag+Bfdg90=Aa+cgi+Bbhg45=Ab+fdh+Bcgg_0 = Ac + i - a - g + Bf - d \\g_{90} = Aa + c - g - i + Bb - h \\g_{45} = Ab + f - d - h + Bc - g

如果向量加法是成立的,那么

g45=g0+g90/2g_{45} = g_0 + g_{90} / \sqrt{2}

微分梯度算子的设计

在合适尺寸的领域上用最佳拟合平面来模拟局部边缘,在数学上,这相当于获得适当的加权平均值,以估计x和y方向上的斜率

2×22 \times 2领域

x方向[1111]y方向[1111]\text{x方向}\quad\begin{bmatrix}-1 & 1\\-1 & 1\end{bmatrix}\quad\text{y方向}\quad\begin{bmatrix}1 & 1\\-1 & -1\end{bmatrix}

3×33 \times 3领域

x方向[101101101]y方向[111000111]\text{x方向}\quad\begin{bmatrix}-1 & 0 & 1 \\-1 & 0 & 1 \\-1 & 0 & 1\end{bmatrix}\quad\text{y方向}\quad\begin{bmatrix}1 & 1 & 1 \\0 & 0 & 0 \\-1 & -1 & -1\end{bmatrix}

4×44 \times 4领域

x方向[3113311331133113]y方向[3333111111113333]\text{x方向}\quad\begin{bmatrix}-3 & 1 & 1 & 3 \\-3 & 1 & 1 & 3 \\-3 & 1 & 1 & 3 \\-3 & 1 & 1 & 3\end{bmatrix}\quad\text{y方向}\quad\begin{bmatrix}3 & 3 & 3 & 3 \\1 & 1 & 1 & 1 \\-1 & -1 & -1 & -1 \\-3 & -3 & -3 & -3\end{bmatrix}

5×55 \times 5领域

x方向[2101221012210122101221012]y方向[2222211111000001111122222]\text{x方向}\quad\begin{bmatrix}-2 & -1 & 0 & 1 & 2 \\-2 & -1 & 0 & 1 & 2 \\-2 & -1 & 0 & 1 & 2 \\-2 & -1 & 0 & 1 & 2 \\-2 & -1 & 0 & 1 & 2 \end{bmatrix}\quad\text{y方向}\quad\begin{bmatrix}2 & 2 & 2 & 2 & 2 \\1 & 1 & 1 & 1 & 1 \\0 & 0 & 0 & 0 & 0 \\-1 & -1 & -1 & -1 & -1 \\-2 & -2 & -2 & -2 & -2\end{bmatrix}