Более точная прямая линия OpenCV

Я работал с «горячими линиями» в OpenCV, и мне кажется, что я не могу получить более точное чтение строк, иногда есть две дублирующие строки друг на друге. Я посмотрел учебник на сайте opencv, но он дает похожий результат.

3

Решение

Чтобы удалить эти дубликаты, вам могут помочь две вещи:

  1. Могут появиться двойные края, что может привести к дублированию линий. Последовательность размытия / расширения входного изображения решит эти проблемы.
  2. Близкие линии, которые имеют почти одинаковый наклон, могут быть удалены с использованием более низких угловых разрешений для theta аргумент метода Линии Хафа. Например, используя π/180 приведет к нахождению линий, которые отличаются только на один градус по наклону. Вы можете использовать 5*π/180 найти линии в разрешении 5 градусов.

Например, следующие строки обнаруживаются с использованием необработанного изображения и разрешения в 1 градус:
тройной

После небольшого размытия и использования 3-градусного разрешения вы можете получить результат, подобный следующему:
фиксированный

Изменяя порог, вы можете получить больше или меньше линий.
О подгонке кривых вы указали в разделе комментариев, да, вы можете подгонять кривые, но не методом грубых линий. Вам нужно найти параметрическое определение этой фигуры и попытаться запустить процедуру голосования, хотя вы и трансформируетесь. Единственная другая форма, которую opencv помогает вам найти, это круг.

8

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]