[問題] opencv-HoughCircles

看板C_and_CPP (C/C++)作者 (累人啊....)時間13年前 (2013/01/18 10:22), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/1
最近在練習影像辨識,還在適應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

01/18 12:04, , 1F
給個圖吧
01/18 12:04, 1F

01/18 13:33, , 2F
就簡單到用小畫家畫兩個圓,情況也是一樣阿
01/18 13:33, 2F


01/18 13:48, , 4F
只抓的到右下,重複執行多次上面的code,才抓的到左上
01/18 13:48, 4F

01/18 13:49, , 5F
但同一時間只抓的到一個
01/18 13:49, 5F

01/18 14:59, , 6F
噢....耍笨了,canny的參數和閥值沒調@@
01/18 14:59, 6F
文章代碼(AID): #1G-B7F9H (C_and_CPP)
文章代碼(AID): #1G-B7F9H (C_and_CPP)