边缘强度
边缘(EDGE):是指图像局部特性的不连续性。灰度或结构等信息的突变处称之为边缘。图像的边缘有方向和幅度两种属性。边缘通常可以通过一阶导数或二阶导数检测得到。一阶导数是以最大值作为对应的边缘的位置,而二阶导数则以过零点作为对应边缘的位置。
1.Roberts算子:Roberts算子又称交叉微分算法,它是基于交叉差分的梯度算法,通过局部差分计算检测边缘线条,常来处理具有陡峭的低噪声图像,当图像边缘接近于正负45,处理效果最佳。缺点是对边缘定位信息不太准确,提取的边缘线条较粗。
2.索伯算子(sobel operator):sobel算子由两个3X3的卷积核构成,分别用于计算中心像素邻域的灰度加权差。
3.Prewitt算子:是一种图像边缘检测的微分算子,其原理是利用特定区域内像素灰度值产生的差分实现边缘检测。由Prewitt算子采用 3x3 模板对区域内的像素值进行计算。Prewitt算子适合用来识别噪声较多、灰度渐变的图像。
格式如下:
d
x
=
[
−
1
0
1
−
1
0
1
−
1
0
1
]
d_x=\quad \begin{bmatrix} -1&0 & 1 \\ -1 & 0 &1\\-1&0&1\end{bmatrix}
dx=
−1−1−1000111
d
y
=
[
−
1
−
1
−
1
0
0
0
1
1
1
]
d_y=\quad \begin{bmatrix} -1&-1 & -1 \\ 0& 0 &0\\1&1&1\end{bmatrix}
dy=
−101−101−101
梯度算子
梯度定义:
函数在某点梯度是一个向量,它的方向与取得最大方向导数的方向一致,而它的模则为方向导数的最大值。
Sobel算子(Sobel Edge Detector):
实现的过程是通过用梯度算子进行卷积运算的到。
对数字图像的每一个点参考它周围的像素的灰度值的加权差,与其相邻的极大值。
公式如下:
∇
i
j
=
∣
(
f
(
i
−
1
,
j
−
1
)
+
2
f
(
i
−
1
,
j
)
)
−
(
f
(
i
+
1
,
j
−
1
)
+
2
f
(
i
+
1
,
j
)
+
f
(
i
+
1
,
j
+
1
)
)
∣
\nabla ij=|(f(i-1,j-1)+2f(i-1,j))-(f(i+1,j-1)+2f(i+1,j)+f(i+1,j+1))|
∇ij=∣(f(i−1,j−1)+2f(i−1,j))−(f(i+1,j−1)+2f(i+1,j)+f(i+1,j+1))∣
+
∣
(
f
(
i
−
1
,
j
−
1
)
+
2
f
(
i
,
j
−
1
)
+
f
(
i
+
1
,
j
−
1
)
)
−
(
f
(
i
−
1
,
j
+
1
)
+
2
f
(
i
,
j
+
1
)
+
f
(
i
+
1
,
j
+
1
)
)
∣
+|(f(i-1,j-1)+2f(i,j-1)+f(i+1,j-1))-(f(i-1,j+1)+2f(i,j+1)+f(i+1,j+1))|
+∣(f(i−1,j−1)+2f(i,j−1)+f(i+1,j−1))−(f(i−1,j+1)+2f(i,j+1)+f(i+1,j+1))∣
∇
i
j
\nabla ij
∇ij为像素点,(i,j)为·边缘强度
Roberts交叉梯度算子(Roberts Cross Edge Detector):
Roberts交叉梯度算子和Sobel算子类似,梯度幅值可以表示为:
∣ G ∣ = G x 2 + G y 2 \left | G \right | = \sqrt{{G_{x}}^{2}+{G_{y}}^{2}} ∣G∣=Gx2+Gy2
为了方便计算,也可以这样计算:
∣ G ∣ = ∣ G x ∣ + ∣ G y ∣ \left | G \right |=\left | G_x \right |+\left | G_y \right | ∣G∣=∣Gx∣+∣Gy∣
梯度角度则可以表示为:
α ( x . y ) = a r c t a n [ G y G x ] \alpha (x.y)=arctan[\frac{G_y}{G_x}] α(x.y)=arctan[GxGy]
Laplace算子:
Laplace属于二阶算子,Laplace算子对噪声敏感,所以一般在降噪后的图像上使用。
对数字图像{f(i,j)}的每个像素取它关于X和·Y方向的二阶差分之和。与边缘点检测无关的算子。
∇
2
i
j
=
∣
∇
x
2
(
i
,
j
)
∣
+
∣
∇
y
2
(
i
,
j
)
∣
\nabla ^2ij=|\nabla x^2(i,j)|+|\nabla y^2(i,j)|
∇2ij=∣∇x2(i,j)∣+∣∇y2(i,j)∣
=
f
(
i
+
1
,
j
)
+
f
(
i
−
1
,
j
)
+
f
(
i
,
j
+
1
)
+
f
(
i
,
j
−
1
)
−
4
f
(
i
,
j
)
=f(i+1,j)+f(i-1,j)+f(i,j+1)+f(i,j-1)-4f(i,j)
=f(i+1,j)+f(i−1,j)+f(i,j+1)+f(i,j−1)−4f(i,j)