Canny檢測的流程
Canny檢測主要是用于邊緣檢測
1)使用高斯濾波器,以平滑影像,濾除噪聲,
2)計算影像中每個像素點的梯度強度和方向,
3)應用非極大值(Non-Maximum Suppression)抑制,以消除邊緣檢測帶來的雜散回應
4)應用雙閾值(Double-Threshold)檢測來確定真實的和潛在的邊緣
5)通過抑制孤立的弱邊緣最終完成邊緣檢測,
注:
NMS(非極大值抑制):
就是抑制不是極大值的元素,可以理解為區域最大搜索,這個區域代表的是一個鄰域,鄰域有兩個引數可變,一是鄰域的維數,二是鄰域的大小,
例如:
行人檢測中,滑動視窗經提取特征,經分類器分類識別后,每個視窗都會得到一個分數,但是滑動視窗會導致很多視窗與其他視窗在包含或者大部分交
叉的情況,這時就需要用到NMS來選取那些鄰域里分數最高(是行人的概率最大),并且抑制那些分數低的視窗
演算法:
線性插值法
應用雙閾值:大于maxval的設定為邊界,
處于maxval和minval中間 和邊界點相連保留,其余舍去,
小于minval 舍去
1 #cv2.Canny(src,minval,maxval) 2 #minval:最低閾值 3 #maxval:最高閾值 4 #閾值越低,影像越細致 5 canny1 = cv2.Canny(img,80,150) 6 canny2 = cv2.Canny(img,50,100) 7 res = np.hstack((canny1,canny2)) 8 Cv_Show('res',res)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/550855.html
標籤:其他
上一篇:洛谷:P5716日份天數
下一篇:返回列表
