Генератор раскрасок
Перевод растровых изображений в векторные раскраски.
Скрипт Python конвертирует растровые изображения в векторные. Векторные изображения затем объединяются в книжку-раскраску, состоящую из нескольких рисунков с сегментами, где каждый сегмент имеет внутри его обобщенный цветовой код.
Эти 2 шага - векторизация изображений и создание книжки-раскраски - сделаны как два независимых модуля. Вот почему можно создавать раскраски, используя даже другие векторные изображения, созданные вне этого приложения.
- чувствительность к детализации, которая будет применяться в процессе векторизации,
- минимальные размеры сегментов и минимальная площадь сегментов,
- алгоритм сглаживания кривых и его параметры,
- число поддерживаемых цветов,
- цветовая палитра,
- семейство шрифтов, тип и цвет заголовка,
- цвет и толщина линий.
В зависимости от требований к стилю итоговых изображений, в приложении реализовано несколько алгоритмов формирования линий границ цветовых сегментов. Они позволяют сгладить кривые, сделать края и сохранить гладкость определенных линий.
Описание алгоритма
На первом этапе работы алгоритм формирует группы пикселей, представляющие собой целостные области, визуально неразличимые по цвету. Для достижения такого результата разработчики использовали модифицированный алгоритм объединения статистических регионов с последующим удалением слишком маленьких сегментов. Для ускорения алгоритма применялись векторные операции библиотек C++, обнаружение и предварительная обработка больших монотонных областей и т.д.
Для устранения потенциальной проблемы, связанной с нехваткой ЦП для обработки больших изображений, реализована возможность обработки больших данных по частям.
На втором этапе был разработан специализированный алгоритм слияния замкнутых сегментов SVG-изображений. Кроме того, команда интегрировала адаптивный алгоритм для определения оптимальных позиций текста внутри сегментов с учетом их размеров и углов поворота.
Похожие проекты
Моделирование и прогнозирование цен на аренду автомобилей
Обучение моделей для прогнозирования цен на аренду автомобилей в Японии на основе данных цен и спроса нескольких японских компаний и истории погоды в Японии.
Распознавание судов на картах
Решение для компьютерного зрения, предназначенное для обнаружения и подсчета всех типов яхт, крейсеров, катеров, каноэ, авианосцев и т. д. на спутниковых картах.
Система для динамического ценообразования
Прогноз оптимальных цен на основе исторических данных.