Обнаружение четырехугольников из случайного набора отрезков прямых

введите здесь описание изображения

прикрепленное изображение является результатом Hough Transform Opencv 2.4.2

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

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

Огромное спасибо


person Zaher Joukhadar    schedule 31.10.2012    source источник
comment
вам нужно будет определить лучший. Он самый большой? Если да, то по периметру или площади? Это наиболее обрисовано в общих чертах? то есть наименьшие зазоры и т. д.   -  person Hammer    schedule 31.10.2012
comment
Хороший конструктивный вопрос, но я понятия не имею об этом :(   -  person Sawan    schedule 18.11.2012
comment
Хороший вопрос, очень хотелось бы получить ответ!   -  person tim    schedule 24.03.2014


Ответы (1)


Не имея времени, чтобы на самом деле попробовать это, я мог представить что-то вроде этого:

  1. Переберите все линии и рассчитайте наклоны.
  2. Сортировать линии по их наклонам
  3. Если две линии имеют примерно одинаковый наклон, они либо параллельны, либо являются одной и той же линией с разрывом в ней (например, почти вертикальные линии слева). Чтобы выяснить, какой из них, рассчитайте, где они будут пересекать ось x или y. Если они пересекаются в одной и той же точке, они являются одной и той же линией и должны быть объединены в одну линию. Если нет, поместите их в набор (примерно) параллельных линий.
  4. Сравните каждый набор параллельных линий друг с другом и посчитайте, пересекаются ли они (возможно, за кадром).
  5. Примените некоторые критерии, зависящие от приложения, чтобы выбрать лучшее.

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

person Patrick Simpson    schedule 18.06.2014