我試圖在Android中使用opencv來檢測兩個同心圓。大的外圈是紅色的,內圈的小圈子是藍色的。這個想法是在距離很長的時候檢測大圈,並在距離變短時檢測內圈。使用opencv檢測外圈HoughCircles
我使用簡單的代碼:
Mat matRed = new Mat();
Core.inRange(matHsv, getScalar(hue - HUE_D, saturation - SAT_D, brightness - BRIGHT_D), getScalar(hue + HUE_D, saturation + SAT_D, brightness + BRIGHT_D), matRed);
//here we have black-white image
Imgproc.GaussianBlur(matRed, matRed, new Size(0, 0), 6, 6);
Mat matCircles = new Mat();
Imgproc.HoughCircles(matRed, matCircles, CV_HOUGH_GRADIENT, 1, matRed.rows()/8, 100, param2, 0, 0);
調用inRange
後,我們有黑底白字環。 HoughCircles
函數僅檢測內部黑色圓圈。 我怎樣才能讓它檢測到外部的白色圓圈呢?
你有一個示例圖像? –
在圖像上使用Canny,然後使用HoughCircles –