看了很多邊緣檢測的文章,有些不夠詳細,有些不算綜合,所以打算總結一下!以下內容均為個人理解,如有問題,望指正!
首先,我想要解釋一下什麼是邊緣。通俗地講,灰度值變化劇烈的地方就是邊緣。
那麼如何判斷灰度值變化?如何度量「劇烈」?各類演算法給出了自己的規範或者說是原則。所以,各類運算元就跳出來了。
由於各類運算元離不開加權以及卷積。首先我先解釋一下我對加權和卷積的理解。
所謂加權
就是佔據的百分比。比如大學時成績的計算,期末成績平時佔20%,期中考試佔30%,期末成績佔50%,而你平時滿分100分,期中80分,期末50分,那麼你的總成績為100*0.2+80*0.3+50*0.5=69分,恭喜你過啦!算取總成績的過程就是加權計算的過程。
所謂卷積
就是先相乘,在相加。在講解卷積之前,先看一下
線性濾波
。我們把待處理的影象看做是乙個大矩陣,影象的畫素對應著矩陣的每個元素,假設我們平面的解析度是1024*768,那麼大矩陣的行數是1024,列數是768。用於濾波的是乙個
濾波器小矩陣(也稱作
卷積核),這個小矩陣一般是方陣(行數和列數相同),例如3*3的小矩陣。所謂
濾波,大概意思就是說,對於大矩陣的每個畫素,計算他周圍畫素和濾波器矩陣對應的位置元素的乘積,之後把結果加到一起,最終得到的數值作為改畫素的新值,這樣就完成了一次濾波。
這篇文章我主要介紹sobel運算元和robert運算元。
sobel運算元(基於一階導數)
(1)什麼是sobel運算元?
sobel
運算元認為,鄰域的畫素對當前畫素產生的影響不是等價的,所以距離不同的畫素具有不同的權值,對運算元結果產生的影響也不同。一般來說,距離越遠,產生的影響越小。實際上,這種運算元就是通過畫素點空間鄰域內上下,左右相鄰點的灰度加權運算,
引入了類似區域性平均的運算
求取物體邊緣。
它包含兩組3x3的矩陣,分別為橫向及縱向模板,將之與影象作平面卷積,即可分別得出橫向及縱向的亮度差分近似值。
(2)優缺點
優點:對雜訊具有平滑作用,能很好的消除雜訊的影響,
提供較為精確的邊緣方向資訊
,在空間域上
sobel
運算元很容易實現,執行速度快
缺點:沒有將影象的主題與背景嚴格地區分開來,換言之它並沒有基於影象灰度進行處理,所以邊緣定位精度不夠高
(3)原理(求解過程)
a.sobel卷積因子
解釋說明:
卷積因子可以用來對影象進行邊緣檢測或者用來計算某個畫素點的法線向量。
邊緣檢測時: gx 用於檢測縱向邊緣, gy 用於檢測橫向邊緣。
計算法線時: gx 用於計算法線的橫向偏移, gy 用於計算法線的縱向偏移。
b.計算方法
1.對於待檢測邊緣的影象i,分別在水平(x)方向和垂直(y)方向求導,方法是分別影象i與卷積核gx和gy進行卷積,公式表述如下:
2.所求的影象的新的畫素點為
或者簡化為
3.得到畫素點新的畫素值之後,給定乙個閾值就可以得到sobel運算元計算出的影象邊緣了
roberts運算元
(1)什麼是roberts運算元
roberts(羅伯茨運算元)運算元是一種最簡單的運算元,是一種利用區域性差分運算元尋找邊緣的運算元,他採用對角線方向相鄰兩象素之差近似梯度幅值檢測邊緣。
(2)優缺點
優點:邊緣定位精度高,在水平和垂直方向的效果好,適用於邊緣明顯且雜訊較少的影象
缺點:對雜訊敏感,無法抑制雜訊的影響,影象處理後結果邊緣不是很平滑。
(3)原理(求解過程)
a.交叉運算元模板
b.計算過程
邊緣檢測運算元
sobel amp image edgeamplitude filtertype,size 根據影象的一次導數計算影象的邊緣 close edges edges,edgeimage regionresult minamplitude close edges length edges,gradient...
邊緣檢測運算元
1.sobel運算元 索貝爾 主要思想是 利用影象畫素點的上下左右的畫素點進行加權差,邊緣的差值會較大,從而得到對應的邊緣。它是一種差分性運算元,包含3 3的橫向,縱向模板,分別對影象進行卷積,得到橫座標,縱座標的亮度差分值。計算出影象亮度函式的梯度近似值。它是一種基於一階導數的邊緣運算元。優點是能...
Robert邊緣檢測運算元
robert運算元是一種利用區域性差分運算元尋找邊緣的運算元,它實際也是一種梯度處理法,只是它用的運算元與上篇梯度法的運算元不一樣。上篇是標準差分運算元,而rboert用的是對角線差分。讀取影象 img cv2.imread lena512color.tiff 灰度化處理影象 grayimage c...