OpenCV的Canny邊緣檢測

2021-10-08 12:18:32 字數 894 閱讀 5285

步驟:

①平滑處理

②梯度檢測

③非極大值抑制

④滯後閾值處理

1.所有的邊緣都極易受到雜訊的干擾,為了防止因雜訊引起的錯誤檢測結果,有必要用平滑濾波的方法濾除雜訊。高斯濾波是常用的濾波方式,二維影象用二維高斯函式,它的定義為:

ps:σ表示高斯函式的標準差

邊緣檢測之前,先用gaussianblur函式進行高斯平滑濾波,設它的標準差為1.6,而高斯核心尺寸是由標準差確定的。

;//size大小通常為3x3這裡我取0×0,1.6為高斯標準差

canny

(dst, output,25,

60);//25為低閾值,60為高閾值

namedwindow

("canny"

, window_autosize)

;//輸出影象與輸入影象大小一致,視窗大小會自動調整以適應所顯示的影象,但是不能更改大小

imshow

("input"

, src)

;imshow

("canny"

, output)

;waitkey(0

);return0;

}原理可參考:邊緣檢測之canny演算法詳解

OpenCV學習筆記(七)之Canny邊緣檢測

老規矩 妹妹鎮樓 灰度轉換 cvtcolor 計算梯度 sobel scharr 非最大訊號抑制 高低閾值輸出二值影象 t1,t2為閾值,凡是高於t2的都保留,凡是低於t1的都丟棄,從高於t2的畫素出發,凡是大於t1且相互連線的都保留。最終得到乙個輸出二值影象。推薦的高低閾值比值為t2 t1 3 1...

opencv的Canny邊緣檢測

前言 目標 去噪 邊緣對雜訊敏感,第一步先用高斯濾波器來濾波。尋找影象的密度梯度 對平滑後的影象進行濾波用sobel濾波器來求出x,y方向的導數。梯度方向總是垂直於邊緣 非極大值抑制 在得到梯度的值和方向後,對影象進行全面掃瞄,取出不需要的畫素,這些畫素可能不構成邊緣。對於這一點如果畫素是其梯度方向...

OpenCV 3計算機視覺(Canny邊緣檢測)

函式原型 edge cv2.canny image,threshold1,threshold2 edges aperturesize l2gradient 第乙個引數是待處理的原影象該函式會將影象處理成黑白,第二個引數是閾值1,第三個引數是閾值三 例如影象調整中的閾值就像一把尺子,它讓高於這把尺子的...