Алгоритм фото в вектор "нацарапанной линии"

Я хотел бы построить алгоритм, который превращает изображение в линию каракулей, напоминающую исходное изображение. Например: введите здесь описание изображения

в это:

введите здесь описание изображения

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

В идеале я хотел бы получить векторное изображение в конце с одним путем.

Спасибо

Отказ от ответственности: я уже задавал этот вопрос на dsp.stackexchange 3, но ответа не было. Я не уверен, что это было правильное место, чтобы спросить.

Я понимаю, что это не чисто вопрос программирования, но, может быть, кто-то может указать мне правильное направление?


person Kuba Misiorny    schedule 22.06.2017    source источник
comment
Одна из стратегий воспроизведения изображения с помощью одной непрерывной линии состоит в том, чтобы отделить его и обработать результат как задачу TSP, для которой соответствующий решатель создаст путь, который будет сглажен на последнем этапе. В этом случае вы получите непересекающийся путь. Вы можете использовать феномен Рунге, чтобы создать дополнительную случайность на этапе сглаживания, не используя сплайн-интерполяцию. Тем не менее, требуется более совершенная техника.   -  person Lars Hadidi    schedule 22.06.2017
comment
Сергей Стоппель утверждает, что написал алгоритм, который делает именно то, что вам нужно: kickstarter.com/projects/871698903/ К сожалению, он не опубликовал по этому поводу никаких статей.   -  person Lars Hadidi    schedule 22.06.2017
comment
+1 за интересную проблему. Изображение либо обрезано, либо не визуализируется с одной кривой (см. левую сторону перед левым ухом). TSP звучит разумно, но я не уверен, что кратчайший путь подойдет для этого. Я бы как-то отсортировал случайные числа в пространстве по плотности (а еще лучше сгенерировал бы их таким образом) и использовал бы как непрерывную кусочно-потоковую подачу контрольной точки для кубической интерполяции или БЕЗЬЕ... без TSP сначала   -  person Spektre    schedule 23.06.2017
comment
Но результат больше похож на сегментацию изображения на области с одинаковой интенсивностью и заполнение их случайными штрихами для соответствия интенсивности.   -  person Spektre    schedule 23.06.2017


Ответы (1)


Попробуйте это... не мое, но довольно аккуратно. Вкладка «файлы» кодовой страницы содержит исходный файл изображения. Processing — забавный язык для таких вещей :-)

https://www.openprocessing.org/sketch/486307

person Charles Morrice    schedule 12.08.2019