邊緣檢測(Edge Detection)

2022-06-22 19:06:12 字數 2859 閱讀 5629

文章首發:xmoon.info

在大多數時候影象的邊緣可以承載大部分的資訊,並且提取邊緣可以除去很多干擾資訊,提高處理資料的效率

識別影象中的突然變化(不連續)

邊緣是影象強度函式中快速變化的地方,變化的地方就存在梯度,對灰度值求導,導數為0的點即為邊界點

卷積的導數

\[\frac = \lim_ \frac

\]\]

顯然在x方向的導數就是與該畫素自身與右邊相鄰畫素的差值

卷積描述偏導

使用卷積核處理

對灰度圖的x和y方向分別處理後的效果如下圖:

有限差分濾波器(卷積核)

\]當影象的畫素存在大量噪點時,相鄰的畫素差異大,所求梯度也會偏大,無法提取邊緣資訊。

解決方案

平滑處理:使用平滑濾波器去噪,使影象訊號變得平滑

再對處理後的訊號求導,取極值

根據卷積的計算性質:\(\frac(f*g) = f*\fracg\),先對平滑核求導,再進行卷積相乘來簡化運算,減少運算量

高斯濾波器

高斯濾波器的導數

引數選擇的越小則保留的細節越多

門限化

經過處理後,可以得到邊緣圖,但存在很多高頻噪點,通過設定更高的門限,過濾噪點,使得到的邊緣更「純粹」

非最大化抑制

在通過高斯濾波後可以得到影象的大致輪廓線,由於影象的畫素變換通常是緩慢改變的, 在處理後的影象中仍然存在大量的粗的「

方案

檢查畫素是否沿梯度方向為區域性最大值,選擇沿邊緣寬度的最大值作為邊緣

處理後經過上面的處理後,已經可以較為粗糙的得到影象的邊緣圖,但仍然存在問題,在有些部分的邊 緣不連續,失去了很多資訊如上圖的黃色區域,這是由於在門限化的過程中,設定過小,導致將需要的邊緣濾除。

雙門限法

先使用高門限將較粗的邊檢測出來,這些邊都是比較魯棒的,是雜訊的可能性極低

再降低門限,將較細的邊顯現出來

將與高門限過濾出的邊連線的低門限邊保留,濾除沒有連線的(不連續的)雜訊

處理後可以得到更好的邊緣效果

學習資源:北京郵電大學計算機視覺——魯鵬

Canny邊緣檢測

1.canny邊緣檢測基本原理 1 圖象邊緣檢測必須滿足兩個條件 一能有效地抑制雜訊 二必須盡量精確確定邊緣的位置。2 根據對訊雜比與定位乘積進行測度,得到最優化逼近運算元。這就是canny邊緣檢測運算元。3 類似與marr log 邊緣檢測方法,也屬於先平滑後求導數的方法。2.canny邊緣檢測演...

Canny邊緣檢測

canny運算元是邊緣檢測運算元中最常用的一種,是公認效能優良的一種運算元,常被其它邊緣檢測運算元作為標準運算元進行優劣分析。canny演算法基本可以分為3個步驟 平滑 梯度計算 基於梯度值及梯度方向的候選點過濾 1 平滑 影象梯度的計算對雜訊很敏感,因此必須首先對其進行低通濾波。在這裡使用5 5的...

Sobel 邊緣檢測

sobel邊緣檢測演算法 索貝爾運算元 sobel operator 主要用作邊緣檢測,在技術上,它是一離散性差分運算元,用來運算影象亮度函式的灰度之近似值。在影象的任何一點使用此運算元,將會產生對應的灰度向量或是其法向量 sobel 卷積因子為 該運算元包含兩組 3x3的矩陣,分別為橫向及縱向,將...