Конвертировать растровые изображения в векторную графику, используя OpenCV?

Я ищу возможность конвертировать растровые изображения в векторные данные, используя OpenCV. Там я нашел функцию cv::findContours() что кажется немного примитивным (скорее всего, я не совсем понял):

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

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

Спасибо!

1 ответ

Решение

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

Другие вопросы по тегам