====== Методы векторизации растровых изображений ====== (также: Vectorizing/Tracing images) Подходит для векторизации логотипов, карт, схем, простых рисунков с малым количеством цветов. Векторные изображения могут использоваться позже в программах редактирования векторных изображений, таких как [[wp>CorelDRAW]], [[wp>Adobe Illustrator]], [[wp>Macromedia FreeHand]] и их некоммерческих аналогов, например, [[wp>Inkscape]], [[wp>Sodipodi]], [[wp>Skencil]]. ===== Этапы трассировки: ===== ==== Обработка растрового изображения с помощью фильтров ==== Удаление "шумов" в виде мелких разнородных областей, которые только мешают качественной трассировке. Можно применить в Фотошопе фильтр //Cutout//. Этот фильтр сокращает количество цветов в изображении и выделяет контур. ==== Перевод изображения в одноцветное (Ч/Б, 1-bit). ==== Опционально. Этот пункт обязателен только для перевода изображений с градациями серых оттенков (Grayscale). Если имеется логотип плохого качества, то можно попробовать улучшить его (предварительно увеличив размеры в 2 и более раза) с помощью размывания //Gaussian Blur// и затем с //Treshold// перевести его в Ч/Б вариант. ==== Собственно, сама трассировка растрового изображения. ==== Есть множество программ, выполняющих трассировку (векторизацию) изображений. Я пробовал //Corel Trace//, //Algolab Raster to Vector Conversion Toolkit//, [[wp>Autotrace]],[[wp> Potrace]]. Последние 2 вполне могут заменить //Corel Trace// как свободные программы. Но если имеется всё же полный пакет программ //Corel Draw//, то лучше им и воспользоваться. Все преобразования в //Corel Trace// я производил с помощью //Advanced Outline//. Для изображений с большим количеством цветов желательно применить //Outline Filter//: //High// (Corel Trace) Чтобы уменьшить количество узлов выберите где-то 25 % //Node reduction// (Corel Trace). Желательно также увеличить минимальный размер (в пикселях) для векторных объектов: //Minimum Object Size// (Corel Trace) или //turdsize// (Potrace) до 4-х [[wp>пиксель|пикселей]] и больше в зависимости от изображения. ===== Примеры ===== Примером идеального для оконтуривания изображения является двухцветное, обесшумленное изображение, как на рисунке 1. {{articles:tracing:m38.png|рисунок 1}} \\ Примером неидеального изображения будет {{articles:tracing:scheme_of_lecture_of_the_local_structure.jpg|рисунок 2}} и его прежде следует хорошенько обработать. Применим функцию Порог (Threshold) в редакторе GIMP или Photoshop для приведения изображения к чёрно-белому: {{articles:tracing:threshold.png|Применение порога}} И получаем такой результат (обработанный, готовый к векторизации): {{articles:tracing:scheme_of_lecture_of_the_local_structure.png}} Несмотря на неплохой результат при обработке, я бы не стал векторизовать такую мешанину-каракули, т.к. всегда нужно добиваться простоты изображения. **Примечание:** Рекомендуется уменьшать изображения большого размера (> 640x480), т.к. излишняя детальность только вредит. Но при этом следить, чтобы нужные элементы изображения не исчезали. ==== После векторизации ==== {{articles:path2457.png}} Теперь можно производить любые трансформации без потерь в качестве и изменения в цвете. ===== Дополнения и замечания ===== Векторизация "за один заход" в командной строке $ jpegtopnm image.jpg > image.pnm $ potrace --svg image.pnm --output image.svg Добавив, к примеру, параметр ''-k 0.6'' , можно изменить порог с 0.5 (по-умолчанию) на 0.6. Конечный файл будет в формате [[wp>Scalable_Vector_Graphics|SVG]].