Canny檢測的流程
Canny檢測主要是用于邊緣檢測
1)使用高斯濾波器,以平滑圖像,濾除噪聲。
?
2)計算圖像中每個像素點的梯度強(qiáng)度和方向。
3)應(yīng)用非極大值(Non-Maximum Suppression)抑制,以消除邊緣檢測帶來的雜散響應(yīng)
4)應(yīng)用雙閾值(Double-Threshold)檢測來確定真實的和潛在的邊緣
5)通過抑制孤立的弱邊緣最終完成邊緣檢測。
注:
NMS(非極大值抑制):
就是抑制不是極大值的元素,可以理解為局部最大搜索。這個局部代表的是一個鄰域,鄰域有兩個參數(shù)可變,一是鄰域的維數(shù),二是鄰域的大小。
例如:
行人檢測中,滑動窗口經(jīng)提取特征,經(jīng)分類器分類識別后,每個窗口都會得到一個分?jǐn)?shù)。但是滑動窗口會導(dǎo)致很多窗口與其他窗口在包含或者大部分交
叉的情況。這時就需要用到NMS來選取那些鄰域里分?jǐn)?shù)最高(是行人的概率最大),并且抑制那些分?jǐn)?shù)低的窗口
算法:
線性插值法
應(yīng)用雙閾值:大于maxval的設(shè)置為邊界,
處于maxval和minval中間 和邊界點相連保留,其余舍去,
小于minval 舍去文章來源:http://www.zghlxwxcb.cn/news/detail-421690.html
1 #cv2.Canny(src,minval,maxval) 2 #minval:最低閾值 3 #maxval:最高閾值 4 #閾值越低,圖像越細(xì)致 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)
?文章來源地址http://www.zghlxwxcb.cn/news/detail-421690.html
到了這里,關(guān)于圖像邊緣檢測(Canny)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!