sobel_amp - 使用sobel運算元檢測邊緣(幅度)。
sobel_amp(:邊緣影象:濾波器方式,掩膜大小:)
sobel_amp計算影象的一階導數,並用作邊緣檢測器。
過濾器基於以下過濾器掩碼:
a =1 2 1
0 0 0
-1 -2 -1
b =1 0 -1
2 0 -2
1 0 -1
根據所選的過濾器型別,這些掩碼的使用方式不同。 (在下文中,a和b表示將影象與a和b卷積為乙個特定畫素的結果。)
這裡,thin(x)分別對應於垂直最大值(掩模a)和水平最大值(掩模b)的x,否則為0。因此,對於』thin_sum_abs』和』thin_max_abs』,漸變影象被稀疏化。
對於過濾器型別』x』和』y』,如果輸入影象是byte型別,則輸出影象的型別為int1,否則為int2型別。
對於尺寸為3x3的sobel運算元,直接應用相應的濾波器a和b,而對於較大的濾波器尺寸,首先使用尺寸為size-2的高斯濾波器(參見gauss_image)或二項式濾波器(參見binomial_filter)對輸入影象進行平滑處理。
為上述filtertype值選擇高斯濾波器。這裡,必須使用size = 5,7,9,11或13。
通過將「_binomial」附加到filtertype的上述值來選擇二項式過濾器。這裡,可以在5到39之間選擇大小。
此外,可以通過在size中傳遞兩個值來選擇不同的平滑列和行方向的量。這裡,size的第乙個值對應於掩模寬度(列方向上的平滑),而第二個值對應於二項式濾波器的掩模高度(行方向的平滑)。
二項式濾波器只能用於byte,uint2和real型別的影象。由於平滑減小了邊緣幅度,在這種情況下,邊緣幅度乘以因子2以防止資訊丟失。因此,
sobel_amp(i,e,過濾式,s)
for size > 3在概念上等同於
scale_image(i,f,2,0)
gauss_image(f,g,s-2)
sobel_amp(g,e,filtertype,3)
or to
scale_image(i,f,2,0)
binomial_filter(f,g,s[0]-2,s[1]-2)
sobel_amp(g,e,filtertype,3).
對於sobel_amp,實現了使用simd技術的filtertype =『sum_abs』的特殊優化。這些特殊優化的實際應用由系統引數』mmx_enable』控制(參見set_system)。如果』mmx_enable』設定為』true』(並且simd指令集可用),則使用simd技術執行內部計算。請注意,simd技術在大型緊湊輸入區域表現最佳。根據輸入區域和硬體的功能,使用simd技術執行sobel_amp甚至可能比非使用simd技術花費更多時間。
sobel_amp可以在opencl裝置上執行,用於過濾器型別』sum_abs』,『sum_sqrt』,『x』和』y』(以及它們的二項式變體)。請注意,當對size> 3使用高斯過濾時,結果可能與cpu實現不同。
支援opencl計算裝置。
多執行緒型別:可重入(與非獨佔運算子並行執行)。
多執行緒範圍:全域性(可以從任何執行緒呼叫)。
在元組級別自動並行化。
在通道級別自動並行化。
在域級別自動並行化。
image (input_object)(多通道 - )影象(-array)→物件(byte / int2 / uint2 / real)
輸入影象。
edgeamplitude(output_object)(多通道 - )影象(-array)→物件(int1 / int2 / uint2 / real)
邊緣幅度(梯度幅度)影象。
filtertype (input_control)string→(string)
過濾器型別。
預設值:『sum_abs』
值列表:
『sum_abs』,『sum_abs_binomial』,『sum_sqrt』,『sum_sqrt_binomial』,『thin_max_abs』,『thin_max_abs_binomial』,『thin_sum_abs』,『thin_sum_abs_binomial』,『x』,『x_binomial』,『y』,'y_binomial 「
值列表(用於計算裝置):
『sum_abs』,『sum_sqrt』,『x』,『y』,『sum_abs_binomial』,『sum_sqrt_binomial』,『x_binomial』,『y_binomial』
size (input_control)整數(-array)→(整數)
濾波掩膜的大小。
預設值:3
值列表:3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39
Canny邊緣檢測
1.canny邊緣檢測基本原理 1 圖象邊緣檢測必須滿足兩個條件 一能有效地抑制雜訊 二必須盡量精確確定邊緣的位置。2 根據對訊雜比與定位乘積進行測度,得到最優化逼近運算元。這就是canny邊緣檢測運算元。3 類似與marr log 邊緣檢測方法,也屬於先平滑後求導數的方法。2.canny邊緣檢測演...
Canny邊緣檢測
canny運算元是邊緣檢測運算元中最常用的一種,是公認效能優良的一種運算元,常被其它邊緣檢測運算元作為標準運算元進行優劣分析。canny演算法基本可以分為3個步驟 平滑 梯度計算 基於梯度值及梯度方向的候選點過濾 1 平滑 影象梯度的計算對雜訊很敏感,因此必須首先對其進行低通濾波。在這裡使用5 5的...
Sobel 邊緣檢測
sobel邊緣檢測演算法 索貝爾運算元 sobel operator 主要用作邊緣檢測,在技術上,它是一離散性差分運算元,用來運算影象亮度函式的灰度之近似值。在影象的任何一點使用此運算元,將會產生對應的灰度向量或是其法向量 sobel 卷積因子為 該運算元包含兩組 3x3的矩陣,分別為橫向及縱向,將...