Python dev / трассировка растровых изображений (срочно)
20 000 руб. за проект
•
наличный расчёт, безналичный расчёт, электронные деньги
Бюджет обсуждаем.
ЗАДАЧА
В имеющуюся утилиту github / kamury / color_trace добавить возможность подавления не достаточно крупных областей.
Область – замкнутый непрерывный контур одного цвета
Под подавлением подразумевается объединение малой области с соседней областью. Соседняя область, с которой будет происходить объединение должна выбираться из следующих соображений:
1. Непосредственно примыкать к подавляемой области
2. Приоритет должен отдаваться областям которые гарантировано не будут подавлены
3. Иметь цвет наиболее близкий к подавляемой области. Дистанцию между цветами можно задать как длину вектора построенного по двум точкам (цвет исходной области и цвет соседней области), в качестве координат точек взять значение составляющих цвета (R, G, B).
Область считать не достаточно крупной если в нее не удается вписать окружность заданного радиуса. Радиус задается как аргумент командной строки.
СУЩЕСТВУЮЩИЙ АЛГОРИТМ
Существующий алгоритм объединяет несколько утилит командной строки и состоит из шагов:
1. Квантование цветов рисунка с возможностью задания их количества
2. Фильтрация шумов на квантованном избражении
3. Разделение квантованного изображения на слои. В каждом слое присутствует только 1 цвет изображения
4. Трассировка в отдельности всех слоев утилитой potrace. Данная утилита не поддерживает трассировку цветных изображений.
5. Объединение векторных слоев в единый SVG файл
Подавление мелких областей можно выполнять на этапе 3 или после этапа 5 в зависимости от того какая реализация будет проще.
PS Если сработаемся, то пригласим в компанию работать — нам не хватает одного бекендера.
ЗАДАЧА
В имеющуюся утилиту github / kamury / color_trace добавить возможность подавления не достаточно крупных областей.
Область – замкнутый непрерывный контур одного цвета
Под подавлением подразумевается объединение малой области с соседней областью. Соседняя область, с которой будет происходить объединение должна выбираться из следующих соображений:
1. Непосредственно примыкать к подавляемой области
2. Приоритет должен отдаваться областям которые гарантировано не будут подавлены
3. Иметь цвет наиболее близкий к подавляемой области. Дистанцию между цветами можно задать как длину вектора построенного по двум точкам (цвет исходной области и цвет соседней области), в качестве координат точек взять значение составляющих цвета (R, G, B).
Область считать не достаточно крупной если в нее не удается вписать окружность заданного радиуса. Радиус задается как аргумент командной строки.
СУЩЕСТВУЮЩИЙ АЛГОРИТМ
Существующий алгоритм объединяет несколько утилит командной строки и состоит из шагов:
1. Квантование цветов рисунка с возможностью задания их количества
2. Фильтрация шумов на квантованном избражении
3. Разделение квантованного изображения на слои. В каждом слое присутствует только 1 цвет изображения
4. Трассировка в отдельности всех слоев утилитой potrace. Данная утилита не поддерживает трассировку цветных изображений.
5. Объединение векторных слоев в единый SVG файл
Подавление мелких областей можно выполнять на этапе 3 или после этапа 5 в зависимости от того какая реализация будет проще.
PS Если сработаемся, то пригласим в компанию работать — нам не хватает одного бекендера.
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.