cvHoughCircles函式,是一種計算機用語,是opencv提供的一種基於霍夫變換(Hough Transform)的找圓函式。
基本介紹
函式,參數,說明,
函式
CvSeq *cvHoughCircles(CvArr *image,void *circle_storage,int method,double dp,double min_dist,double param1,double param2,int min_radius,int max_radius)
參數
image:輸入8bit(灰度)圖像,其內容可被函式所改變
circle_storage:檢測到的圓存儲倉,可以是記憶體存儲倉 (此種情況下,一個線段序列在存儲倉中被創建,並且由函式返回)或者是包含圓參數的特殊類型的具有單行/單列的CV_32FC3型矩陣(CvMat*). 矩陣頭為函式所修改,使得它的 cols/rows 將包含一組檢測到的圓。如果 circle_storage 是矩陣,而實際圓的數目超過矩陣尺寸,那么最大可能數目的圓被返回,每個圓由三個浮點數表示:圓心坐標(x,y)和半徑.).
method:Hough 變換方式,目前只支持CV_HOUGH_GRADIENT, which is basically 21HT, described in [Yuen03].
dp:尋找圓弧圓心的累計解析度,這個參數允許創建一個比輸入圖像解析度低的累加器。(這樣做是因為有理由認為圖像中存在的圓會自然降低到與圖像寬高相同數量的範疇)。如果dp設定為1,則解析度是相同的;如果設定為更大的值(比如2),累加器的解析度受此影響會變小(此情況下為一半)。dp的值不能比1小。
min_dist:該參數是讓算法能明顯區分的兩個不同圓之間的最小距離。
param1:用於Canny的邊緣閥值上限,下限被置為上限的一半。
param2:累加器的閥值。
The second method-specific parameter. In case of CV_HOUGH_GRADIENT it is accumulator threshold at the center detection stage. The smaller it is, the more false circles may be detected. Circles, corresponding to the larger accumulator values, will be returned first.
min_radius:最小圓半徑。
max_radius:最大圓半徑。max_radius=0,max_radius值為圖像最大尺寸值;max_radius<0,函式只返回圓心值,不返回半徑值。