DEV Community

Ilya Siganov
Ilya Siganov

Posted on • Originally published at vk.com

ImageMagick эксперименты #6

Сегодня был очень длинный день. Поэтому для поддержания себя в бодром состоянии, я написал следующий сценарий искажения фоток. Вас ждет снова много “вещественных” преобразований. Надеюсь, я придумаю как делать фотки пастельными, а не мерзео-эпилептическими. Итак, сегодня на очереди — применение функций от координат на насыщенность каналов. Кто хочет- может посмотреть исходники, я там замутил массив указателей на функции. Описания под картинками.

X/Y

Значение канала * (x/y). Только вот незадача. Я не перевёл во float, поэтому видны резкие границы разделения.

Alt Text

(int)(x/y)

Теперь плавное использвание x/y.

Alt Text

(float)(x/y)

Логарифм

Логарифм произведения координат. По-моему это самый прикольный результат.

Alt Text

log(x*y)

А что если взять log(x/y)?

Alt Text

log(x/y)

Ещё один экземпляр. (прим. времени — через 2 года уже не могу вспомнить, что тут за функция. Имя файла xyyx.)

Alt Text

xyyx

Sin

Quant*sin(x*y). Советую открыть оригинал и приблизить. Зрелище ооооочень странное.

Alt Text

Quant*sin(x*y)

Тоже синус, но с более слабыми коэффициентами.

Alt Text

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

Исходники

https://github.com/senior-sigan/magick/blob/master/function.h

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay