BeS 53 Жалоба Опубликовано January 6, 2018 Всем привет, Для удобства работы с результатами semantic segmentation хочу векторизовать label map. Т.е. у нас есть картинка, где каждому пикселю соответствует номер класса и мы хотим все такие блобы закодировать полигонами, соответствующими границам объектов. Но, я внезапно обнаружил, что cv::findContours() работает только с бинарными изображениями (т.е. там только 2 лэйбла 'фон'/'не фон'). Теоретически я могу свести задачу к предыдущей, довольно просто генерируя для каждого класса соответствующую бинарную маску. Таким образом у меня получится куча контуров, но вот их иерархия вложенности, которая строится внутри findContours, будет невалидной, и придется делать какие-то дополнительные (не самые вычислительно-дешевые) телодвижения для того, чтобы определить корректный порядок отрисовки вложенных полигонов. Может быть кто-то сталкивался с подобной задачей и знает уже существующую имплементацию для конвертации label map'ов в полигоны для небинарных масок, с поддержкой древовидных иерархий? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
2expres 7 Жалоба Опубликовано January 8, 2018 В 06.01.2018 at 23:06, BeS сказал: Для удобства работы с результатами semantic segmentation хочу векторизовать label map. Т.е. у нас есть картинка, где каждому пикселю соответствует номер класса и мы хотим все такие блобы закодировать полигонами, соответствующими границам объектов. Я преобразую растр в вектор без применения стандартных библиотек: делаю сегментацию, векторизацию методом "жука", аппроксимацию ломанной полученного полигона, получение векторного файла *.svg. Меня интересует вопрос, что Вы будете делать с векторным файлом дальше? Есть ли стандартные методы распознавания векторного полигона? Я нахожусь на стадии распознавания силуэта(полигона). Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах