Каков наилучший способ «смазать» изображение программно? - PullRequest
3 голосов
/ 10 июня 2009

Я возиться с манипуляциями с изображениями, в основном с использованием Python. Сейчас я не слишком беспокоюсь о производительности, так как просто делаю это ради развлечения. До сих пор я мог загружать растровые изображения, объединять их (согласно некоторой функции) и делать ДЕЙСТВИТЕЛЬНО грубый анализ (находить самые яркие / самые темные точки, подобные вещи).

Я бы хотел иметь возможность сделать снимок, сгенерировать набор контрольных точек (что я могу более или менее сделать сейчас), а затем размазать изображение, начиная с контрольной точки и двигаясь в определенном направлении. В чем я не уверен, так это в самом процессе размазывания. Какой хороший алгоритм для этого?

Ответы [ 5 ]

2 голосов
/ 10 июня 2009

Попробуйте PythonMagick (привязки библиотеки ImageMagick для Python). Если вы не можете найти его в репозитории вашего дистрибутива, получите его здесь: http://www.imagemagick.org/download/python/

У него больше функций эффектов, чем можно потрясти.

1 голос
/ 18 июня 2016

Этот вопрос довольно старый, но я недавно заинтересовался этой самой темой, так что, возможно, это может быть кому-то полезно Я реализовал кисть 'smudge', используя Imagick для PHP, которая примерно основана на технике смазки, описанной в этой статье . Если вы хотите проверить код, не стесняйтесь посмотреть на проект: Magickpaint

1 голос
/ 10 июня 2009

Один из методов - создать сетку, в которой перемещаются ваши контрольные точки, а затем использовать методы наложения текстур, чтобы вернуть изображение обратно в искаженную сетку.

1 голос
/ 10 июня 2009

Один из методов - применить размытие по Гауссу (или другой тип размытия) к каждой точке в области, определенной вашими контрольными точками.

0 голосов
/ 10 июня 2009

Я могу ручаться за Gaussian Blur, упомянутый выше, он довольно прост в реализации и обеспечивает довольно неплохой результат размытия.

Джеймс

...