Мое приложение работает с фотографиями и видеороликами людей, которые я хочу мультфильм. Поэтому мне нужен алгоритм для этого вручную (мы используем C++/Qt для нашего продукта, который имеет классы манипуляции с изображениями) или, возможно, какую-то программу CLI, которая сделает это для меня, что я могу позвонить и использовать из нашего собственного приложения.Как мультяшное изображение программно?
ответ
Вот некоторые алгоритмы играть с:
- Median или неоднократного окно фильтра размывания, чтобы получить мультяшным цветовую палитру
- Редактировать: Двусторонняя фильтрация должна соответствовать вашему n eeds еще лучше
- Min фильтр (Нулевое процентиль) для улучшения некоторых типов кромок
- сегментации изображения Цвета используя либо небольшой подкуб или сферу в цветовом кубе RGB
- Generic повышения края на сегментированном изображении с помощью функции обнаружения краев такие, как Собели ядра или 8-процессорного край трассировки
- Композит размыт/медианное отфильтрованное изображение с расширенными краями
Они достаточно просты и все очень легко осуществить. Имейте в виду, что срединные и размытые фильтры могут быть реализованы с линейной временной сложностью w.r.t. радиус ядра.
Больше редактирует:
Как только вы получите представление о том, алгоритм Хуанга, реализует окно размывания фильтр вкусный кусок пирога.
Чтение материал:
- Fast Median and Bilateral Filtering (получить PDF)
- Median Filtering Constant time (получить PDF) Примечание: У меня есть реализация этого в C# с помощью Mono/SIMD для ускорения гистограммы слипание, однако это только кажется лучше, чем алгоритм O (r), когда диаметр превышает ~ 60 пикселей из-за сопоставимого количества дополнительных/вспомогательных инструкций (точка безубыточности), реализация на С ++, вероятно, намного лучше подходит для использования SI MD.
Другие материалы для чтения включают в себя Gonzalez & Woods' Digital Image Processing (похоже, это более старое издание) для сегментации и краевой трассировки. 8-сторонняя трассировка края может быть очень сложной, чтобы наклонить голову (выбор между пикселями в пикселях или между пикселями и как защелкиваться на краях). Я был бы рад поделиться каким-то кодом, но сто-лайнеры здесь не подходят ровно.
на самом деле я не знаю, инструмент, но вы можете посмотреть на OSG (OpenSceneGraph)
есть библиотека osgFX и есть карикатура эффект ... может быть, вы можете внушать из этой библиотеки ...
может быть (я не знаю) ImageMagick имеет много особенностей, может быть, он имеет функцию, как это, но я не знаю ...
Сценарий является частью системы отображения, он управляет хранением графика объектов для отображения - не манипулирует изображениями. Что-то вроде openCV было бы более подходящим –
я не сделал это сам, но думать о двух шагов, которые могли бы дать изображению мультяшный взгляд.
Обнаружьте края и нарисуйте довольно плотную линию (несколько пикселей) на этих краях.
Уменьшить количество цветов на изображении.
На самом деле я пробовал этот алгоритм, но я не мог добиться успеха. может быть, чего-то не хватает? – ufukgun
Не уверен, если это поможет, но this tutorial для Photoshop предлагает делать следующее:
- Откройте изображение в Photoshop
- Filter> Blur> Gaussian Blur. Установите радиус 3,0 или выше, чтобы по вкусу.
- Редактировать> Fade Gaussian Blur. Появится окно. , , установите режим затемнения. Вам также может потребоваться уменьшить непрозрачность.
Вот результат.
Я полагаю, что вы могли бы сделать что-то подобное в вашей программе.
Не удалось найти учебник, веб-сайт больше похож на ссылку-ферму ... пожалуйста, исправьте ссылку. – redtuna
Странно, это работало, когда я разместил его. Исправлено то, что сейчас, и, похоже, снова работает. Спасибо за головы. – RiddlerDev
Вы можете попробовать rotoscopy, как toonyphotos.com делает:
сладкий. исходный код тоже! – bryanbcook
из часто задаваемых вопросов: «Ротоскоп требует ввода человека для правильной работы». – Josip
@ Josip: Вы правы, я забыл этот момент. Тем не менее, ротоскопия в целом, похоже, делает то, что он просил. – mooware
Если есть набор параметров, которые достигают желаемого эффекта в мультяшном фильтре the GIMP (или какой-либо другой комбинации фильтров), его можно запустить в batch processing mode.
Возможно, вы захотите проверить Freestyle проект с открытым исходным кодом (Google Summer of Code, even) для реализации non-photorealistic renderer для Blender. Вот пример его выхода в мультяшном режиме: alt text http://freestyle.sourceforge.net/GALLERY/CARTOON/girl-color-and-lines-crop.jpg
+1 - Это отличное изображение, особенно с линиями, которые значительно помогают взглянуть и интерпретировать изображение. – tom10
не могли бы вы привести несколько примеров мультфильмов? – ThibThib
Чтобы получить больше результатов поиска, документы и т. Д., Найдите «не фотореалистичный рендеринг (2d)». – felix