Обнаружение края на JavaScript холсте - PullRequest
0 голосов
/ 24 февраля 2020

Я пытался скопировать облачный мультяшный фильтр. Вот оригинальный пример и «карикатурная» версия.

original

cartoonify

В моих попытках чтобы повторить это, я пробовал различные решения. Сначала я попробовал порог (библиотека marvinj) с различными другими переменными, такими как яркость / контраст и т. Д. c. и я закончил с этим:

threshold

Это не совсем то, к чему я стремился, поэтому я начал возиться с обнаружением краев (marvinj lib Prewitt Обнаружение края) вместе с пороговым значением в качестве одного «обнаружения края» было недостаточно, и мы получили следующее:

prewitt

Не получаются детализация как облачная ( недостаточно хорошо фиксирует лицо) Я попробовал другое определение края, используя библиотеку glfx (edgework), это дало мне детали, которые я искал, но добавил много шума к нему, например:

glfx edgeworks

Кто-нибудь знает, как получить эффект обнаружения краев glfx без шума в бликах, или может помочь мне воспроизвести облачный?

У меня есть заметил, что облачные системы используют 2-х слойное обнаружение краев для одного, а затем нижний слой кажется уменьшенным в цвете с удаленными бликами (белым) или, по крайней мере, в оттенках серого и с серым в определенном диапазоне, я заметил это с помощью r добавьте строки в их демо здесь: https://cloudinary.com/blog/help_users_toon_into_your_site_with_a_cartoon_effect

...