В настоящее время я работаю с Hough Circles. Существуют ли методы автоматического поиска подходящих параметров для кругов Хафа? Прямо сейчас я просто вручную изменяю значения, пока они не начнут правильно рисовать круги.
Я думаю, что вы также должны смотреть на http://www.cse.yorku.ca/~kosta/CompVis_Notes/isophote_curvature.pdf а также http://www.science.uva.nl/research/publications/2008/ValentiCVPR2008/CVPR%2008.pdf
Это поможет вам найти кривизну изофоты, значения для вашего изображения. Кривизна обратно пропорциональна радиусу кривой в точке. После того, как вы вычислите значения кривизны изофоты для каждого пикселя, у вас будет диапазон значений радиуса, которые вы должны проверить.
Если вы можете автоматически оценить результат работы Hough Circles, для большинства случаев будет достаточно поиска методом грубой силы. Просто зациклите все возможности для всех параметров и возьмите значения, которые дали лучший результат.
Если вам нужно ускорить процесс, вы можете уменьшить поиск пространства, привязав некоторые параметры к значениям, которые, как вы уже знаете, работают нормально, или сократив диапазон.
Другим вариантом для более точного поиска является использование Генетический алгоритм.
Если у вас есть представление о размерах окружностей, которые вы ищете, то было бы лучше установить min_radius и max_radius соответственно. В противном случае он вернет что-нибудь круглое любого размера, и ваша общая цель будет уничтожена.
Параметры 1 и 2 не влияют на точность как таковую, больше надежности. Параметр 1 установит чувствительность; насколько сильными должны быть края окружностей. Слишком высоко, и он ничего не обнаружит, слишком низко, и он найдет слишком много беспорядка. Параметр 2 установит, сколько точек ребра нужно найти, чтобы объявить, что он нашел окружность. Опять же, слишком высокое ничего не обнаружит, слишком низкое объявит что-либо кругом. Идеальное значение параметра 2 будет связано с окружностью окружностей.