【发布时间】:2017-07-12 08:53:54
【问题描述】:
我正在尝试在 Android 中使用 opencv 检测两个同心圆。大的外圈是红色的,里面的小圈是蓝色的。这个想法是在距离长时检测大圆,在距离变短时检测内圆。
我正在使用简单的代码:
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