У меня есть следующее изображение, полученное после обнаружения края Canny:
После применения к нему преобразования Хафа я получаю такой результат:
Это очень хороший результат, но мне нужна только одна линия из каждого пакета, чтобы я мог отобразить, что объект на первой картинке напоминает треугольник. Мое первое решение состояло в том, чтобы рассчитать какую-то «среднюю» линию для каждого пакета. Каждая линия определяется углом и радиусом. Мой способ найти «среднюю» линию для каждого пучка — вычислить среднее значение углов по следующей формуле:
avgTheta = arctan(sum of sines of all thetas/sum of cosines of all theta)
Я рассчитываю средний радиус самым простым способом:
avgRadius = sum of all raduises / number of raduises
Однако линии, которые я получаю, не находятся в центре их пучков.
Может кто-нибудь посоветовать лучшее решение?
Я использую следующую реализацию преобразования Хафа: преобразование Хафа
Всегда есть возможность взять одну строку из каждого набора случайным образом, но мне это не нравится.
Если мой вопрос не ясен, пожалуйста, сообщите мне, чтобы попытаться лучше объяснить проблему.
Заранее спасибо.