hough變換尋找圓的基礎(chǔ)知識(shí)就不說(shuō)了软舌,網(wǎng)上一大推才漆,這里主要講應(yīng)用:
函數(shù)原型
#python
circles = HoughCircles( gray_image, cv2.cv.CV_HOUGH_GRADIENT, 1, src_gray.rows/8, 200, 100, 0, 0 )
函數(shù)原型:
HoughCircles(InputArray image, int method, double dp, double minDist,double param1 = 100, double param2=100, int minRadius=0, int maxRadius=0 )
參數(shù)列表:輸入圖像、檢測(cè)用的方法佛点、累加器圖像的反比分辨率醇滥、允許的圓心之間的最小距離黎比、Canny邊緣函數(shù)的高閾值、圓心檢測(cè)閾值鸳玩、能檢測(cè)到的最小圓半徑阅虫、能檢測(cè)到的最大圓半徑;
第一個(gè)參數(shù):image 8-bit的單通道灰度圖不跟;
lll
第二個(gè)參數(shù):method 使用的方法颓帝,當(dāng)前可以使用的方法只有CV_HOUGH_GRADENT,在cv2中寫(xiě)作cv2.cv.CV_HOUGH_GRADENT
第四個(gè)參數(shù):dp 累加器分辨率到圖像分辨率的反比例窝革。例如:如果dp=1购城,累加器有著和輸入圖像一樣的分辨率;如果dp=2虐译,累加器有著輸入圖像的width和height一半的值瘪板;
第五個(gè)參數(shù):minDist 介于檢測(cè)到的圓的中心的最小距離。如果這個(gè)參數(shù)太小漆诽,在真的圓形周?chē)鷷?huì)檢測(cè)到很多假的圓侮攀。如果太大,一些圓會(huì)被miss掉
第六個(gè)參數(shù):param1 canny邊緣檢測(cè)高閾值厢拭。當(dāng)使用CV_HOUGH_GRADIENT兰英,這個(gè)參數(shù)表示傳遞給canny檢測(cè)器的高限閾值,(低限閾值是這個(gè)值的一半)供鸠。這個(gè)值越大檢測(cè)圓邊界時(shí)畦贸,要求的亮度梯度越大,一些灰灰的不明顯的邊界就會(huì)略去回季。
第七個(gè)參數(shù):param2 圓心檢測(cè)閾值家制,在CV_HOUGH_GRADIENT中,這個(gè)參數(shù)是在檢測(cè)階段中圓心的累加器閾值泡一,這個(gè)值越小颤殴,越多假的圓會(huì)被檢測(cè)到,(對(duì)應(yīng)于越大的累加值鼻忠,越先返回涵但,也就是進(jìn)行排序,累加值越大帖蔓,說(shuō)明圓的可能性越高)
后兩個(gè)參數(shù):允許檢測(cè)到的圓的最大和最小半徑