1. 程式人生 > >Marr-Hildreth邊緣檢測器

Marr-Hildreth邊緣檢測器

用於邊緣檢測的運算元應該有兩個顯著的特點: 1.它應該能夠計算圖中每一個點處的一階導數或者二階導數的數字近似的微分運算元。 2.它能夠被“調整”以便在任何期望的尺寸上其作用。因此,大的運算元也可以用於檢測模糊邊緣,小的運算元可以用來檢測銳度集中的精細細節。

滿足上面兩個要求的最好運算元是濾波器2G\nabla^2G其中2\nabla^2是拉普拉斯運算元,而G是標準差為σ\sigma的二維高斯函式。 我們簡稱其為高斯拉普拉斯(LoG): 在這裡插入圖片描述 選擇2G\nabla^2G的原因如下: 1.運算元的高斯部分會模糊影象,從而在尺寸上將結構的灰度(包括噪聲)降低到遠小於σ\sigma

的程度。 2.高斯函式在空間和頻率兩個域平滑影象,因而在原影象中引入不存在的人為干擾(如振鈴)的可能性較小。 3.儘管一階導數可用於檢測灰度突變,但是它們是有方向的運算元,而拉普拉斯有各項同性(旋轉不變)的特點。

如何構造log運算元模板: 目的:獲取LOG函式的基本形狀,這意味著一個正的中心項由緊臨的負區域包圍著,中心項的值以距原點的距離為函式而增大,而外層區域的值為零。係數之和必須為零,從而模板的響應在恆定灰度區域為零。 在這裡插入圖片描述

大小:為確定高斯濾波器的大小,仍採用位於二維高斯表面下其均值在正負3σ3\sigma之間的99.7%,作為一種經驗法則,一個大小為n*n的LOG離散濾波器,其n值應是大於等於6

σ6\sigma的最小奇數。n小於該值的濾波器模板會“截斷”LOG函式,截斷的程度與模板的大小成反比;而是用較大的模板對結果的影響不大(因為超過6σ\sigma的地方數值為0)。

我們知道二階導數對邊緣檢測會產生零交叉,於是我們接下來要做的就是對上一步得到的的影象尋找零交叉,我們一般以3*3的領域尋找零交叉。