У меня есть много серых растровых изображений, которые мне нужно преобразовать в векторный формат, такой как SVG. Я использую Inkscape, который дает хорошие результаты, но это занимает около 10-15 минут, чтобы открыть, преобразовать и сохранить файл. Есть ли пакет или инструмент командной строки, который может преобразовать их?
command-line
images
conversion
svg
Деревня
источник
источник
potrace
это.Ответы:
Potrace
Я нашел этот пример на SO в Q & A под названием: Как преобразовать изображение JPEG в формат SVG, используя ImageMagick? , Один из предложенных ответов
potrace
.Результаты
Глядя на
potrace
сайт, вы можете перейти непосредственно от BMP к SVG.автотрассировка
Другим вариантом
potrace
являетсяautotrace
.Скорее всего, вам придется поиграть с
--color-count
изображением, которое соответствует вашим потребностям.Результаты
Какой использовать?
Из этих 2 это действительно зависит от исходного материала. Если вы конвертируете изображения, то
potrace
, вероятно, лучший вариант. Для не-фото материала, такого как шрифты и неодушевленные объекты, такие как декорации, которые включают в себя такие вещи, как дороги, тоautotrace
с его--centerline
переключателем.Пакетные преобразования
Вы можете обернуть любую из этих команд в цикл for в Bash, что облегчит выполнение задач массового преобразования.
Ссылки
источник
convert -channel RGB -compress None input.jpg bmp:- | potrace -s - -o output.svg
Autotrace
Вы можете попробовать автоматическую трассировку .
Используя следующую команду, вы получите следующие результаты:
Мне пришлось сделать снимок экрана с полученным SVG и сохранить как PNG, чтобы показать вывод.
Вот исходное изображение jpg:
Вот результирующее изображение:
источник
Обычно я выполняю все свои задачи по работе с изображениями
convert
из ImageMagic, но не могу заставить его хорошо играть с файлами SVG. Однако вы можете использоватьinkscape
себя из командной строки:Это создаст файлы с именем
foo.bmp.svg
. Чтобы получить правильные имена, попробуйте это:Проблема этого подхода заключается в том, что, по крайней мере, в моей системе появляется всплывающее графическое диалоговое окно с вопросом, хочу ли я связать или внедрить изображение:
Таким образом, вам все равно нужно нажимать ОК вручную, но это все же намного быстрее, чем делать это файл за файлом.
Насколько я могу судить, выходные изображения идентичны:
Теоретически, и то,
convert
и другоеrsvg-convert
должно быть в состоянии сделать это, но я не мог заставить его работать хорошо на моих изображениях за те несколько минут, которые я потратил, пытаясь. Тем не менее, они оба заслуживают внимания.источник
potrace
встроен, так что мне интересно, использует ли он этот инструмент? цитата: «Potrace теперь встроен в Inkscape. Вам не нужно запускать его отдельно». - wiki.inkscape.org/wiki/index.php/Toolspotrace
это инструмент для этого. Вы можете обрабатывать их в большом количестве, но сначала вы должны преобразовать изображения в монохромные:Установить в Ubuntu:
Если вы хотите преобразовать изображения, которые не являются монохромными,
Inkscape
имеют основу инструмента трассировки на potrace, которая поддерживает несколько цветов, сначала она преобразует изображение в цветные слои, а затем прослеживает их и объединяет результат.Видеть
Учебник здесь!
источник