G'MIC 4.0: вышел релиз зрелого фреймворка обработки изображений
Проект с открытым исходным кодом G'MIC (GREYC's Magic for Image Computing) выпустил версию 4.0, восемнадцать лет спустя после старта в июле 2008 года в лаборатории GREYC при университете Кана (совместное подразделение CNRS, ENSICAEN и университета Кана, Франция). Авторы называют 4.0 вехой зрелости: синтаксис языка G'MIC, код интерпретатора и реализованные алгоритмы обработки изображений признаны достаточно проверенными, поэтому команда намерена немного замедлить темп новых релизов и сосредоточиться на стабильности, надёжности и производительности фреймворка.
G'MIC строится поверх библиотеки CImg на C++, которую тот же автор разрабатывает с 1999 года. Проект предоставляет собственный интерпретируемый язык для написания алгоритмов обработки изображений и несколько интерфейсов доступа к сотням готовых операторов: консольную утилиту gmic, веб-сервис G'MIC Online и плагин G'MIC-Qt. Именно плагин, самый популярный интерфейс проекта: его скачивают в среднем более 1200 раз в день, и этот показатель стабильно растёт весь последний год. G'MIC-Qt встраивается в GIMP, Krita, digiKam, Paint.net, Adobe Photoshop и Affinity Photo. С выходом версии 4.0 общее число фильтров в плагине достигло 644.
Среди новых фильтров: "Pixel Stretch", дублирует выбранную полосу пикселей вдоль настраиваемой траектории из двух сплайнов, создавая эффект локального растяжения изображения (подходит для стилизации движения и глитч-арта); "Gradients [Poles]", строит цветовые градиенты через пространственную интерполяцию заданных пользователем цветных точек с помощью радиальных базисных функций; "Marker Drawing", перерисовывает изображение случайными цветными сплайнами вдоль контуров исходных геометрических структур, имитируя рисунок фломастерами; "Heightfield Warp", создаёт 3D-эффект, накладывая изображение на параметрически заданную карту высот с опциональным освещением по модели Фонга, причём формулу карты высот можно задать вручную; "Offset Stripes", вносит случайные смещения горизонтальных и/или вертикальных полос изображения для глитч-эффектов.
Отдельно авторы выделяют фильтр "Transfer Colors [Multi]", перенос цветовой схемы одного изображения на другое с сохранением исходной структуры (краёв, объектов, содержания). Фильтр поддерживает три метода: на основе метода главных компонент (PCA), сопоставление гистограмм и вариационный метод. Вариационный алгоритм, результат совместного исследования двух сотрудников команды IMAGE лаборатории GREYC (D. Tschumperlé и J. Rabin) и профессора математической лаборатории LMI из INSA Rouen (C. Le Guyader), поддержанного грантом исследовательского объединения Нормандии NormaSTIC. У фильтра есть полуавтоматический режим: пользователь может вручную задать соответствия между конкретными цветами двух изображений, чтобы направить перенос в нужную сторону, в примерах авторов так заставляли зелёное оперение попугая перенять синий цвет большой синицы или менять красный цвет божьей коровки на зелёный по образцу гоночного болида.
Остальная часть обновления, множество мелких доработок языка G'MIC и его стандартной библиотеки: улучшения парсинга, оптимизации алгоритмов, чистка кода и новые математические функции и опции; исходный текст релиза обрывается на перечислении этих деталей.
Ключевые факты
- Открытый фреймворк обработки изображений G'MIC выпустил версию 4.0 спустя 18 лет после старта проекта в 2008 году в лаборатории GREYC (Кан, Франция)
- Плагин G'MIC-Qt, самый популярный интерфейс проекта, свыше 1200 загрузок в день; встраивается в GIMP, Krita, digiKam, Paint.net, Photoshop, Affinity Photo
- В версии 4.0 общее число фильтров плагина достигло 644, добавлены Pixel Stretch, Gradients [Poles], Marker Drawing, Heightfield Warp, Offset Stripes
- Новый фильтр переноса цвета Transfer Colors [Multi] реализует вариационный алгоритм из совместного исследования GREYC и INSA Rouen, с ручным заданием цветовых соответствий
- Авторы объявили о смене темпа развития: после достижения зрелости проект фокусируется на стабильности и производительности, а не на новых фичах
Почему это важно
Релиз 4.0, не рядовое обновление, а официально объявленная веха зрелости проекта: авторы прямо заявляют, что язык, интерпретатор и алгоритмы G'MIC достаточно проверены, и переключают приоритет с добавления функций на стабильность и производительность. Отдельный интерес представляет фильтр переноса цвета: это редкий случай, когда научное исследование (совместная работа лаборатории GREYC и INSA Rouen) доходит до полноценной интеграции в бесплатный инструмент с открытым кодом, доступный любому пользователю популярных редакторов.
Кому это важно
Цифровым художникам, фотографам и дизайнерам, которые используют GIMP, Krita, digiKam, Paint.net, Photoshop или Affinity Photo и устанавливают плагин G'MIC-Qt для расширения возможностей этих редакторов. Также релиз интересен исследователям и разработчикам в области обработки изображений, как пример доведения академического алгоритма до открытого прикладного инструмента.
Как это применить
G'MIC и его плагин G'MIC-Qt бесплатны и распространяются с открытым исходным кодом; версию 4.0 можно установить или обновить как плагин в поддерживаемых редакторах изображений либо использовать консольную утилиту gmic или веб-сервис G'MIC Online. Новые фильтры доступны сразу после обновления плагина, без отдельной настройки.
Можно ли доверять
Источник, официальный анонс проекта, опубликованный на его сайте автором и основателем G'MIC (D. Tschumperlé), обсуждение на Hacker News набрало 74 балла при всего 4 комментариях. Материал не независимый обзор, а собственный релиз-пост проекта, поэтому цифры (число загрузок, число фильтров) приведены со слов авторов и не подтверждены сторонним источником.
Риски и подводные камни
Новость нишевая и рассчитана на узкую аудиторию цифровых художников и разработчиков инструментов обработки изображений, прямого отношения к ИИ или машинному обучению релиз не имеет. Источник не приводит точной даты релиза, не поясняет, включает ли цифра «свыше 640 фильтров» из общего описания те же фильтры, что и итоговые 644 в версии 4.0, и не описывает планы развития дальше объявленного замедления темпа релизов; исходный текст анонса также обрывается до конца, часть подробностей о доработках языка и библиотеки недоступна.