1. 程式人生 > >關於canny邊緣檢測的處理過程

關於canny邊緣檢測的處理過程

高斯濾波是一種線性平滑濾波,適用於消除高斯噪聲,廣泛應用於影象處理的減噪過程。

通俗的講,高斯濾波就是對整幅影象進行加權平均的過程,每一個畫素點的值,都由其本身和鄰域內的其他畫素值經過加權平均後得到。

高斯濾波的具體操作是:用一個模板(或稱卷積、掩模)掃描影象中的每一個畫素,用模板確定的鄰域內畫素的加權平均灰度值去替代模板中心畫素點的值。

一般是用一個3*3的模板(卷積)去掃描影象中的每個畫素點,加權平均確定中心畫素點的值。

用自己的話來講就是:用周圍畫素點的加權平均值來替代這個中心點,這樣的話,如果中心點是一個畫素值突變的噪點的化,那麼它經過加權平均後也可以與周圍正常的點畫素值靠近,消除噪點的影響。


////////////////////////////////////////////////////////////////////////////////、

Sobel運算元是一個離散微分運算元 (discrete differentiation operator)。 它用來計算影象灰度函式的近似梯度。


用自己話來講就是:sobel是一個計算影象上每一個畫素點的梯度的過程,怎麼算呢,與一個核心做卷積運算,卷積之後可以獲得影象上每個畫素點的梯度的幅值和方向,關鍵點就是邊緣點的畫素值的梯度計算後與旁邊鄰近點的幅值是有一個突變的過程,所以當計算後的畫素點的梯度值和領域裡的其他值相比是突變的,那麼它就有可能是一個潛在的邊緣點。

這個地方有個問題是:梯度的方向和幅值分別代表什麼,如果邊緣點是梯度的賦值突變為標準,那麼梯度的方向的計算是不是沒有意義,還沒搞懂啊。

//////////////////////////////////////////////////////////////////////////////////


非極大抑制:比較好理解。就是隻保留梯度突變的畫素點,其他點都抑制掉,就是其他點都變成255   或者  變成0   ,這樣一張圖片上的的非潛在邊緣點都沒隱藏掉,剩下的都是潛在邊緣點。

//////////////////////////////////////////////////////////////////////////////////


滯後抑制也比較好理解,再一次篩選邊緣點,設定兩個閾值,一個高閾值,一個低閾值,梯度值高於高閾值,不用說就看作為邊緣點,梯度值小於低閾值,就篩除它,看作為非邊緣點,如果在低閾值和高閾值中間,就看它連線的是不是高於高閾值的點,如果是它也可以看作為邊緣點,如果不是,那就是非邊緣點。


這個有個問題是  怎麼理解一個點連線的點,是指它在它的領域裡高閾值的點嗎?不是很清晰。