影象處理演算法(四)---邊緣檢測
阿新 • • 發佈:2019-02-04
影象處理領域中涉及很多特徵,角點特徵,邊緣特徵,形狀特徵,紋理特徵,顏色特徵,直方圖統計特徵等等(還有很多^_^)。這些特徵有些是比較底層的特徵,如角點特徵,邊緣特徵,顏色特徵等,有些則是較為高層的特徵,如形狀特徵,紋理特徵,直方圖統計特徵。
這裡我們主要談論底層特徵中的邊緣特徵,提取這些特徵的手段叫作邊緣特徵提取或叫作邊緣檢測。邊緣檢測常用的運算元中分為一階檢測運算元和二階檢測運算元,這裡提及的運算元有些類似數學中的微分的概念(要有一定的數學基礎哦)。邊緣檢測的另外一種形式也被成為相位一致性,這個概念我到後面再談及,有了這個概念之後幫助我們從影象頻域分析邊緣提取這一過程。
表1 影象處理邊緣檢測運算元分類表格
基於邊緣檢測的分析不易受整體光照強度變化的影響,同時利用邊緣資訊容易凸顯目標資訊和達到簡化處理的目的,因此很多影象理解方法都以邊緣為基礎。邊緣檢測強調的是影象對比度。對比度從直觀上的理解就是差異的大小,若對於灰度影象來說就是灰度值(亮度值)的差別,若對於彩色影象則是顏色的差異了。這些差異可以增強影象中的邊界特徵,因為這些邊界就是影象對比度較大的體現。
這就是我們感知目標邊界的大體機制,因為目標的表現就是與它周圍的亮度差別。
一、水平差分運算元、垂直差分運算元
亮度變化可以通過對相鄰點進行差分處理來增強。對水平方向的相鄰點進行差分處理可以檢測垂直方向上的亮度變化,根據其作用通常被稱為水平邊緣檢測運算元(horizontal edge detector),這樣就可以檢測出垂直邊緣Ex;對垂直方向的相鄰點進行差分處理可以檢測水平方向上的亮度變化,根據其作用通常被稱為垂直邊緣檢測運算元(vertical edge detector),這樣就可以檢測出水平邊緣Ey。
Ex = |Px,y - Px+1,y|
Ey = |Px,y - Px,y+1|
將水平邊緣檢測運算元和垂直邊緣檢測運算元結合,就可以同時檢測出垂直邊緣和水平邊緣,即:
Ex,y =|Px,y - Px+1,y + Px,y - Px,y+1|
由此可以得到,
Ex,y =|2 x Px,y - Px+1,y - Px,y+1|
圖1 一階差分模板
利用泰勒級數分析可以知道相鄰兩點的差值是一階導數的估算值,誤差。
如果在相鄰兩個差分點之間插入一個畫素來實現,相當於,相當於用兩個相鄰點的一階差分作為新的水平差值Exx,其中
Exxx,y = Ex x+1,y + Ex x,y = |Px+1,y - Px,y
+ Px,y - Px-1,y| = |Px+1,y - Px-1,y |
利用泰勒級數分析可以知道一階微分的估算值是由一個畫素隔開的兩個點的差值,誤差。
圖2-1 改進的一階差分模板My 圖2-2 改進的一階差分模板Mx
二、一階邊緣檢測
(a) Roberts交叉運算元
Roberts交叉運算元實現的基礎是一階邊緣檢測,利用兩個模板,計算對角線上而不是座標軸上的兩個畫素的微分。這裡命名這兩個模板分別為M+,M-
圖3-1 Roberts交叉運算元模板M+ 圖3-2Roberts交叉運算元模板 M-
(b) Prewitt邊緣檢測運算元
邊緣檢測類似微分處理,它檢測的變化的部分,必然對噪聲和影象的亮度變化都有相應處理。因此,把均值處理加入到邊緣檢測過程中一定要非常謹慎。我們可以把垂直模板Mx擴充套件成三行,而水平模板My擴充套件成三列。這樣就得到Prewitt邊緣檢測運算元。
圖4-1 Prewitt運算元模板Mx 圖4-2 Prewitt運算元模板My
(c) Sobel邊緣檢測運算元
如果把使兩個Prewitt模板運算元中心畫素的權值去兩倍的數值,便得到有名的Sobel邊緣檢測運算元,它是由向量方式確定邊緣的兩個掩碼組成的。Sobel很受歡迎是因為它比Prewitt運算元等同時期的其他邊緣檢測運算元效能更好。
圖5-1 Sobel運算元模板Mx 圖5-2 Sobel運算元模板My
Sobel運算元的通用形式綜合了一條座標軸上的最優平滑和另一條座標軸上的最優差分。值得注意的是,大的邊緣檢測模板的好處是它減少噪聲的平滑效果更好,然而邊緣模糊卻成為一個大難題。
(d) Canny邊緣檢測運算元
Canny邊緣檢測運算元可以說是當前最受歡迎的邊緣檢測方法。它由三個主要目標形成:
型別 | 具體運算元 |
一階邊緣檢測 | Roberts交叉運算元,Prewitt運算元,Sobel運算元和Canny運算元 |
二階邊緣檢測 | Lapacian運算元,Marr-Hildreth和LapLacian of Gaussian |
其他邊緣檢測運算元 | Spacek運算元,Petrou運算元和Susan運算元 |
- 無附加響應的最優檢測
- 檢測邊緣位置和實際邊緣位置之間距離最小的正確定位
- 減少單邊緣的多重響應而得到單響應