potrace: преобразуйте растровые изображения в векторные

Андрас Хорват (András Horváth), перевод: Алексей Бешенов

2008-07-23

Оригинал: potrace: Transform bitmap images into vector graphics, 19 мая 2008 г.

Иногда можно столкнуться с необходимостью получить из какого-то изображения материал высокого разрешения. Если вы не иллюстратор, то может понадобиться получить результат хорошего качества из графики с низким разрешением, так чтобы его можно было как угодно увеличивать, а элементы при этом сглаживались.

Без специальных программ отрисовки можно сделать следующее: взять растровый редактор вроде GIMP, изменить размеры изображения с применением лучшего метода сглаживания, а потом добавить выборочное размытие. Чаще всего это не дает удовлетворительных результатов.

Есть маленькая, но мощная утилита potrace, написанная Питером Селинджером, профессором математики из университета Dalhousie.

Программы отрисовки (trace) вроде potrace принимают на входе растровое изображение и создают из него изображение в формате SVG. potrace даже поддерживает вывод в PDF.

Пример для командной строки:

$ potrace -s image.bmp

При этом программа преобразует пиксели изображения в закрашенные фигуры, которые выглядят гладкими при любом масштабе.

В моем личном опыте работы иллюстратором potrace давал очень хорошие результаты для многих изображений. Если входное изображение имело острые элементы, то potrace передавал их, в то время как дорогое патентованное ПО давало плохие результаты, сглаживая края; требовалось много ручной правки.

Преимущества potrace относительно других программ:

  • очень хорошие результаты,
  • работает довольно быстро,
  • легко запускать из командной строки,
  • можно вызывать из свободного пакета для векторной графики Inkscape (командой меню «Path / Trace Bitmap» или Shift+Alt+B).

Минусы:

  • дает на выходе только монохромные изображения, работа с цветом пока не поддерживается,
  • не поддерживает на входе PNG (впрочем, преобразование из PNG можно осуществить множеством свободных программ).

Вот пример входного и выходного изображения, который можно найти на домашней странице проекта:

 

Пакет давно есть и в Debian, и в Ubuntu.