Сергей Кривоносов
7 сообщений
#7 лет назад
Добрый день!
Хочу поделиться результатами работы своей программы по переводу растрового изображения в векторное. На этом форуме нашел тему, которая уже закрыта:  . Поэтому решил создать новую тему.
В ней требовалось перерисовать фотографию:

Результат:



Так же ниже была представлена фотография с просьбой оценить перерисовку в вектор:

Хочу отметить, что данная фотография весьма плохого качества, к тому сильно попорченная *.jpg. Результат в векторе:


К сожалению, в обоих картинках нет возможности применить оптимизацию - поэтому результат большой файл .svg.
P.S. Так как на этом форуме, я не могу выложить файлы напрямую в *.svg я их заархивировал. Файлы .svg открываются с помощью любого более или менее современного браузера или программы Coral Draw.
P.P.S. очень интересна оценка полученного результата.
Евгений К.
731 сообщение
#7 лет назад
о_О

Эта свг вешает мой хром) На не слабом то компе..
И она не масштабируется. Такое чувство что там все сделано однопиксельными polygon.

Выходит непонятно зачем такое.
Сергей Кривоносов
7 сообщений
#7 лет назад
crus94, мой слабый и древний AMD3000+ открывает за пару секунд. Данные примеры содержат, множество мелких деталей, исходные фотография к тому же попорчена jpeg, как результат сегментируются плохо от того и большой файл *.svg.  Как вариант фото:


Результат: . Всего 18 килобайт!!! Исходный файл более 7 Мегабайт.
Евгений К.
731 сообщение
#7 лет назад
А эта вроде нормально прохавалась)

Прикольный инструмент.
Сергей Кривоносов
7 сообщений
#7 лет назад
crus94, Можно и реальные фотографии векторизировать. Конечно, результат средний, но как демонстрация возможностей программы пойдет. Исходный файл:

Результат:

Исходный файл 9МБайт. Результат 1Мбайт, конечно с потерей качества.
Давид П.
828 сообщений
#7 лет назад
Цитата (2expres):
Всего 18 килобайт!!!

Исходя из данной фотографии, его векторизация (обрисовка сверху) будет максимум 2-3кб. В тоже время, будет гладко масштабироваться, без изъянов по краям и без лишних линий.

Цитата (2expres):
Исходный файл 9МБайт. Результат 1Мбайт

Цитата (2expres):
Можно и реальные фотографии векторизировать

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

Для полиграфии? У вас вряд ли возьмут подобный вектор на печать. И тоже смысла нет, так как по сути данный вектор это миллионы линий, заменяющие пиксели и при печати/масштабировании никакой разницы не будет, по сравнению с его растровым вариантом.

Если же программа для векторизация, то она как минимум должна состоять из нейросетей и "понимать" сам рисунок, решать каким именно образом составлять линии, игнорируя недочеты качества, шум и прочее. Тогда это будет не просто инструмент, а технология, которую принесет реальную пользу.
Серафима Л.
10571 сообщение
#7 лет назад


2expres
,  если такое качество получается, это достижение. Прогоните то же черех онлайн конвертер) Там получается ужасно
Другой вопрос как Давид, написал выше, зачем именно такую графику прогонять...
Сергей Кривоносов
7 сообщений
#7 лет назад
AlexsimA, Спасибо
Серафима Л.
10571 сообщение
#7 лет назад
2expres, да не за что. Меня тоже последнее время донимает верстальщик этим форматом и я пришла к выводу что надо быть проще. Делать стала вектор в Фотошопе и все довольны. Так как конвертируем в .SVG без потерь
Сергей Кривоносов
7 сообщений
#7 лет назад
PerfectoWeb, Давид, а сколько у Вас уйдет времени для перерисовки данной фотографии, например, собаки: 15 мин, час, день? При правильно заданных параметрах программа переведет в вектор за пару секунд. Так же хочу напомнить, что Москва не сразу строилась, и алгоритмы будут совершенствоваться. Но я как новичок в графике, потрачу минимум день для перерисовки данного изображения в вектор и далеко не факт, что получу лучший результат. Мне было бы интересно посмотреть на результат ручной перерисовки первой фотографии!!! Чтобы сравнить с полученными мной результатами. Если у вас есть примеры растровых изображений, которые Вы перерисовали в вектор, готов потратить время и сравнить результаты.
К тому же даже профессионал векторной графики может использовать данную программу для предварительной обработки и затем вручную дорисовать или исправить все, что Вам необходимо. 
Векторизация фотографии - это наше видение пути в компьютерном зрении, т.к. компьютеру сложно обрабатывать миллионы точек, а после сделать вывод, что изображено. Для этого необходимо фотографию представить в виде примитивной графики, лубка. Это выполняет наша программа - поэтому она так и называется.
Серафима Л.
10571 сообщение
#7 лет назад
Цитата:
На фото шас посмотрела что поставила выше.... Мумии отдыхают...
Давид П.
828 сообщений
#7 лет назад
2expres, Сергей, в среднем 30 минут должно хватить. Максимум час, если глаза будут иногда отлипать от монитора. То, что программа перенесет в вектор – не сомневаюсь, Сергей. Вопрос в том, каким именно будет этот вектором? Я искренне рад, что вы нацелены сделать ее лучше, но оставлю свой взгляд на данный вопрос – это трудоемкая работа и она должна решать много задач. 

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


  • Программа должна понимать, что можно упустить и вовсе игнорировать. Она должна понимать, что именно нарисовано на фотографии и если там есть недочет, искажение, шум, ненужный пиксель - просто пропускать.
  • Она 100% должна делать вектор масштабируемым
  • Вам не стоит нацеливаться на векторизацию фотографий, если программа для web-дизайнеров или дизайнеров мобильных приложений.. Соберите 20-30 изображений с инфографиками, превью-картинки векторной графики (персонажи и т.д.), логотипов и подобного. И совершенствуйте программу на их базе.
  • Программа должна стараться решать задачу с минимальным набором полигонов и точек

Серафима верно отметила. При создании дизайна сайта, мобильного приложения и прочего, весь вектор делается в процессе разработки. То есть, изначально создаются или используются векторные материалы. А также, примитивные шейпы легко можно экспортировать из Adobe Photoshop в SVG. В связи с чем, нацеливаться на рынок разработчиков дизайна сайтов – скорее всего не верный подход. В случае, если ваша цель компьютерное зрение и продажа алгоритмов/технологий в будущем, то успехов, однозначно!
Сергей Кривоносов
7 сообщений
#7 лет назад
Еще один пример работы графического редактора "Лубок":

Результат в векторе:

Да, конечно код SVG избыточен в фотографии, но перерисовать в вектор фотографию - это своего рода искусство. Кто хочет воспользоваться программой пишите в личку. Дам ссылку на скачивание. Возникли вопросы по переводу, пишите буду рад Вам помочь. Программа бесплатная!!!
Петр Т.
18 сообщений
#7 лет назад
В целом результат очень не плох