看板 C_and_CPP 關於我們 聯絡資訊
最近在練習影像辨識,還在適應opencv的lib... 相關的知識大致上都有個初步的了解 對於這個function的使用上有些問題 vector<cv::Vec3f> circles; ... HoughCircles(gray, circles, CV_HOUGH_GRADIENT, 2, gray->rows/4, 200, 100 ); for( size_t i = 0; i < circles.size(); i++ ) { Point center(cvRound(circles[i][0]), cvRound(circles[i][1])); int radius = cvRound(circles[i][2]); // draw the circle center circle( img, center, 3, Scalar(0,255,0), -1, 8, 0 ); // draw the circle outline circle( img, center, radius, Scalar(0,0,255), 3, 8, 0 ); } 以上是官網提供的code,我的圖有數個圓,但它永遠只能抓到一個圓 假設是ABCDE五個圓,幾乎都只能先抓到A,當我連續的執行這段程式 他偶爾可以抓到BCDE任一個 也就是說同一時間只能一次抓到一個圓 甚至於我開小畫家畫兩個圓,它還是只能抓到一個 請問是有哪裡需要修改的嗎?謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.238.4
Feis:給個圖吧 01/18 12:04
tyc5116:就簡單到用小畫家畫兩個圓,情況也是一樣阿 01/18 13:33
tyc5116:只抓的到右下,重複執行多次上面的code,才抓的到左上 01/18 13:48
tyc5116:但同一時間只抓的到一個 01/18 13:49
tyc5116:噢....耍笨了,canny的參數和閥值沒調@@ 01/18 14:59