найти многоугольник, содержащий заданные координаты и найти координаты многоугольника (python opencv) - PullRequest
1 голос
/ 11 февраля 2020

Пример изображения, используемого в программе

Я пытаюсь найти координаты многоугольника на изображении (точно так же, как алгоритм заливка нам дана координата и нам нужно искать границу для окружающих пикселей, если граница найдена, нам нужно добавить ее координату в список, если нет необходимости продолжать поиск других пикселей.) и если все пиксели пройдены, программа должна прекратить возвращать список пикселей. обычно цвет границы черный, а изображение - изображение карт здания в оттенках серого.

1 Ответ

0 голосов
/ 11 февраля 2020

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

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

enter image description here

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

...