圖像運算中的一階導與二階導

首先,圖像是離散的數據,若求其導數就要用差分的方法,常用的差分方法是前向差分(forward differencing)與中心差分(central differencing)。一階導本質上求的是斜率,二階導求的是拐點。

一階導

連續函數,其微分可表達爲

f^{\prime}(x)=\lim _{h \rightarrow 0} \frac{f(x+h)-f(x)}{h} ,或,f^{\prime}(x)=\frac{f(x+h)-f(x-h)}{2 h}                     (1.1)

對於圖像這種離散的數據,其可以表達爲:

I_{x}=\frac{I(x)-I(x-h)}{h},或,I_{x}=\frac{I(x+h)-I(x-h)}{2 h}                                       (1.2)

以Prewitt一階微分邊緣檢測算子爲例,其利用像素點上下、左右鄰點的灰度差,在邊緣處達到極值檢測邊緣,去掉部分僞邊緣,對噪聲具有平滑作用 。其原理是在圖像空間利用兩個方向模板與圖像進行鄰域卷積來完成的,這兩個方向模板一個檢測水平邊緣,一個檢測垂直邊緣,這兩個方向的模板就是一階微分運算。具體如下:

G(x)=|[f(i-1, j-1)+f(i-1, j)+f(i-1, j+1)]-[f(i+1, j-1)+f(i+1, j)+f(i+1, j+1)]|        (1.3)

G(y)=|[f(i-1, j+1)+f(i, j+1)+f(i+1, j+1)]-[f(i-1, j-1)+f(i, j-1)+f(i+1, j-1)]|        (1.4)

      G=\max [G(x), G(y)],或,\mathrm{G}=\mathrm{G}(\mathrm{x})+\mathrm{G}(\mathrm{y})                                                          (1.5)

Prewitt梯度算子法就是先求平均,再求差分來求梯度。水平和垂直梯度模板分別爲:

G_{x}=\left[\begin{array}{lll}{-1} & {0} & {1} \\ {-1} & {0} & {1} \\ {-1} & {0} & {1}\end{array}\right]         G_{y}=\left[\begin{array}{ccc}{1} & {1} & {1} \\ {0} & {0} & {0} \\ {-1} & {-1} & {-1}\end{array}\right]

二階導

對於一維函數,其二階導數爲:

f^{\prime \prime}(x)=\lim _{h \rightarrow 0} \frac{f^{\prime}(x+h)-f^{\prime}(x)}{h},即 f^{\prime \prime}(x)=\frac{f(x+h)-2 f(x)+f(x-h)}{h^{2}}          (2.1)

它的差分函數爲:

I_{x x}=\frac{I(x+h)-2 I(x)+I(x-h)}{h^{2}}                                                                            (2.2)

二階導部分以Laplacian邊緣檢測算子爲例。Laplace算子是一種各向同性算子,二階微分算子,在只關心邊緣的位置而不考慮其周圍的象素灰度差值時比較合適。Laplace算子對孤立象素的響應要比對邊緣或線的響應要更強烈,因此只適用於無噪聲圖象。存在噪聲情況下,使用Laplacian算子檢測邊緣之前需要先進行低通濾波。所以,通常的分割算法都是把Laplacian算子和平滑算子結合起來生成一個新的模板。拉普拉斯算子也是最簡單的各向同性微分算子,具有旋轉不變性。

拉普拉斯算子是n維歐式空間的一個二階微分算子。它定義爲兩個梯度向量算子的內積:

\triangle \triangleq \nabla^{2} \triangleq \nabla \cdot \nabla=\left(\frac{\partial}{\partial x} \vec{i}+\frac{\partial}{\partial y} \vec{j}\right) \cdot\left(\frac{\partial}{\partial x} \vec{i}+\frac{\partial}{\partial y} \vec{j}\right)=\frac{\partial^{2}}{\partial x^{2}}+\frac{\partial^{2}}{\partial y^{2}}                          (2.3)

其在二維空間上的公式爲:

\Delta f=\frac{\partial^{2} f}{\partial x^{2}}+\frac{\partial^{2} f}{\partial y^{2}}                                                                                                            (2.4)

1、對於1維離散情況,其二階導數變爲二階差分:

1)首先,其一階差分爲:

\nabla f[n]=f^{\prime}[n]=D_{n}[f[n]]=f[n+1]-f[n]                                                                (2.5)

2)因此,二階差分爲:

\begin{aligned} \Delta f[n] =& \nabla^{2} f[n]=f^{\prime \prime}[n]=D_{n}^{2}[f[n]]=f^{\prime}[n]-f^{\prime}[n-1] \\ =&(f[n+1]-f[n])-(f[n]-f[n-1])=f[n+1]-2 f[n]+f[n-1] \end{aligned}         (2.6)

3)因此,1維拉普拉斯運算可以通過1維卷積核[1,-2, 1]實現

2、對於2維離散情況(圖像),拉普拉斯算子是2個維上二階差分的和(見式2.4),其公式爲:

\begin{array}{ll}{\Delta f[m, n]} &= {D_{m}^{2}[f[m, n]]+D_{n}^{2}[f[m, n]]=f[m+1, n]-2 f[m, n]+f[m-1, n]+f[m, n+1]-2 f[m, n]+f[m, n-1]} \\ {} &= {f[m+1, n]+f[m-1, n]+f[m, n+1]+f[m, n-1]-4 f[m, n]}\end{array}

其卷積可寫爲:

\left[\begin{array}{ccc}{0} & {1} & {0} \\ {1} & {-4} & {1} \\ {0} & {1} & {0}\end{array}\right]     

其可拓展爲

\left[\begin{array}{ccc}{1} & {1} & {1} \\ {1} & {-8} & {1} \\ {1} & {1} & {1}\end{array}\right]

參考文章:圖像處理-線性濾波-2 圖像微分(1、2階導數和拉普拉斯算子)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章