У меня есть Mat
из обнаруженных circles
с использованием HoughCircles
, и я перебираю их и добавляю к List
Теперь я хочу получить средний цвет обнаруженных кругов, чтобы проверить, отмечен этот круг или нет (например, изображение ниже)
![enter image description here](https://i.stack.imgur.com/p0wzZ.jpg)
Mat circles = new Mat();
Imgproc.HoughCircles(adaptiveThresh, circles, Imgproc.HOUGH_GRADIENT, 1.0, (double) adaptiveThresh.rows() / 40, 100.0, 30.0, 20, 30);
List<Circle> circleList = new ArrayList<>();
Point p1 = new Point(0, 0);
for (int x = 0; x < circles.cols(); x++) {
double[] c = circles.get(0, x);
Point center = new Point(Math.round(c[0]), Math.round(c[1]));
int radius = (int) Math.round(c[2]);
Imgproc.circle(source, center, radius, new Scalar(255,0,255), 3, 8, 0 );
Circle circle = new Circle();
circle.centerY = (int) center.y;
circle.centerY = (int) center.y;
circle.radius= radius;
circle.x = circle.centerX - circle.radius;
circle.y = circle.centerY - circle.radius;
circle.distance = Math.sqrt(Math.pow(Math.abs(p1.x - circle.centerX), 2) + Math.pow(Math.abs(p1.y - circle.centerY), 2));
circleList.add(circle);
Log.d(TAG, "scan2: x->" + circle.x + "\ty->" + circle.y);
}
Надеюсь, я получу все 200 кругов из этого изображения, но я хочу определить, какие круги помечены (например, первый ряд и второй круг помечены!)
Как определить, какой круг помечен, а также узнать, какая это строка и столбец!
Есть 2 столбца, в каждом столбце по 25 строк, в каждом ряду 4 круга, всего 200 кругов