Извлечение координат многоугольников - PullRequest
0 голосов
/ 06 мая 2018

Здравствуйте, у меня есть двоичные значения изображений.

Как лучше всего извлечь координаты фигур со значениями своих.

Спасибо за идеи.

enter image description here

Ответы [ 2 ]

0 голосов
/ 06 мая 2018

Упрощенная версия состоит в том, чтобы использовать, где получить строки и столбцы, а затем транспонировать, если хотите.

a = np.array([[0, 0, 0, 0, 0, 0],
              [0, 1, 1, 1, 0, 0],
              [0, 1, 1, 1, 0, 0],
              [0, 1, 1, 0, 0, 1],
              [0, 0, 0, 0, 0, 0]])

np.where(a == 1)
(array([1, 1, 1, 2, 2, 2, 3, 3, 3], dtype=int64),
 array([1, 2, 3, 1, 2, 3, 1, 2, 5], dtype=int64))

np.array(np.where(a == 1)).T
Out[5]: 
array([[1, 1],
       [1, 2],
       [1, 3],
       [2, 1],
       [2, 2],
       [2, 3],
       [3, 1],
       [3, 2],
       [3, 5]], dtype=int64)
0 голосов
/ 06 мая 2018

Вы можете использовать библиотеку skimage вместо OpenCV.

from skimage import measure
contours = measure.find_contours(im, 0.8)

contours возвращает массив координат вокруг этих фигур со значением 1.

Проверьте документацию ЗДЕСЬ , чтобы узнать больше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...