Как я могу обнаружить сетку заполненных кругов?Python

Программы на Python
Anonymous
Как я могу обнаружить сетку заполненных кругов?

Сообщение Anonymous »

Учитывая изображение платы Connect-4, я хотел бы распознать и вывести состояние платы (матрица 6 на 7). Первый подход, который я попробовал, основан на поиске кругов, а затем поиске сетки в их центроидах.

Я использую функцию open-cv:< /p>

Код: Выделить всё

circles = cv2.HoughCircles(bw_im,
cv2.cv.CV_HOUGH_GRADIENT,
dp=DP,
minDist=MIN_DIST,
minRadius=MIN_RADIUS,
maxRadius=MAX_RADIUS)
Я добавляю немаксимальное подавление, но результаты не очень хорошие.

Есть ли лучший способ, чем напрямую работать с кругами Хафа, возможно, существует какая-то морфологическая операция заполненной кругообразности, о которой я не знаю.

Вот пример входного изображения:

Изображение


Можно предположить, что входное изображение было обрезано и имеет такие же поля, как указано выше (у меня есть другой фрагмент кода, который позаботится об этом).

Подробнее здесь: https://stackoverflow.com/questions/353 ... ed-circles

Вернуться в «Python»