Фильтр "Сделайте мне так же"

топ 100 блогов fotoforge03.05.2010 Надеюсь, по теме сообщества...

У многих, наверное, бывала такая ситуация: возился с какой-то фотографией, крутил ее, вертел, цвета настраивал, настроил, сохранил... и успешно забыл, что с ней делал. Попытался на следующий день сделать то же самое с другой - не вышло.
Случалось?

Вот у меня случалось, и не раз. Надоело, и решил попробовать немного с сей проблемой побороться. В результате пробы получилась нижепредлагаемая программулька.

Программа восстанавливает преобразование по исходнику и результату и позволяет это преобразование применять к другим картинкам. Пока что реализован только самый примитивный подход: восстанавливаются лишь те пробразования, которые могут быть описаны кривыми RGB. Реализовывать ли дальше - вопрос времени, лени и того, интересно ли это вообще кому-нибудь, кроме меня.

Под катом приводится описание и ссылки на нынешнюю версию, а в результате интересует вопрос: продолжение кому-нибудь нужно?
Или, может, я вообще ломлюсь в открытую дверь, и что-то подобное давно уже существует?

Фильтр



Итак, жила-была фотография...

Фильтр


Допустим, что по некоторой прихоти захотелось мне придать ей следующее цветовое решение. По какой причине могло подобное захотеться - оставим за кадром. Может, головой ударился?

Фильтр


Для этого к картинке был применен набор кривых:

Фильтр


Набор простой, но, допустим, забылся он. А теперь хочется "то же самое" сделать с другими картинками, снятыми в другое время в другой стране, да и вообще, какая разница, где и когда.
Здесь-то и приходит на помощь программка (рабочее название Filter Wand):

Фильтр

Интерфейс, на мой взгляд, более чем очевиден и особых пояснений не требует. Загружаем старую картинку "до" (Load source), загружаем ее же "после" (Load product), запускаем восстановление фильтра (Generate filter). Получив сообщение "Filter generation successfull", либо сохраняем его для будущего использования, либо сразу переходим к обработке новых картинок. Загружаем новую картинку "до" (Select target), применяем сгенеренный фильтр (Apply filter) и получаем новую картинку, обработанную "так же, как старые". Сохраняем результат (Save result as).

Пример использования восстановленного фильтра на основе тех самых приведенных выше картинок (заодно и с перепроверкой на исходнике):
верхний ряд - исходные фотографии;
средний ряд - фотографии, обработанные "восстановленным" фильтром;
нижний ряд - фотографии, обработанные исходно известным набором кривых, т.е. те, которые должны были бы получиться, если бы "позабытое" преобразование не было забыто.

Фильтр

При использовании безпотерьных форматов картинки в двух нижних рядах совпадают полностью.
Для джипегов, естественно, некоторые отличия найти можно, но на глаз они не заметны при всем желании.

Пара замечаний:
1. После того, как фильтр будет сгенерен, программа выдаст статистику. Особого внимания на нее обращать не стоит, но идеально подогнанный фильтр выглядит так: "[Coverage: 100%. Max inconsistance: 0. Max deviation: 0. Mid deviation: 0]". Если Max inconsistance отличен от нуля - значит, преобразование не описываемо полностью кривыми RGB (или был использован формат с потерями).
2. Программа работает только с числовыми значениями RGB, НЕ принимая во внимание профили. Следите, чтобы source и target имели один профиль. В результирующий файл профиль записан не будет, но все числовые значения будут в том же профиле, что имел целевой файл (target).
3. Настройки сохранения результирующего файла не предусмотрены, но для всех форматов, в которых это возможно, используется сохранение с максимальным качеством. Формат определяется расширением (при неуказанном расширении будет сохранен BMP).
4. Поддерживается только 8-битные цветовые каналы. По идее, 16-битные автоматически ужимаются, но реально работу с ними не тестировал особо.

Ссылки для скачивания:
Скачаль целиком программу можно здесь (5 МБ).
Если вдруг у вас уже есть библиотеки от Qt SDK 2010.02.1, можно скачать один EXE-шник - здесь (185 КБ).



UPD: Судя по многочисленным отзывам, программа прекрасно пашет на всех моих домашних компах, но ни на чьих больше :) Сорри, завтра проверю на работе, что за фигня творится, обновлю пост.

Оставить комментарий

Архив записей в блогах:
...
     Сегодня шелка смартфон Samsung Galaxy Ace , вон стильный и мене нравиться его задние панель мене очень понравилась. Великий  Android 2.2.1 ну и это оперецыонка не спасет этот телефон , хотя модно  именть телефон на базе Android.   ...
Днесь опять у одного оппозицоинэра увидел вот этот мем. Это поразительно. Вот эту, и аналогичную чушь (был одно время популярен мемас про бензин, сколько его можно купить за 100 р.), в оппозиционной среде постят уже лет 20, только очередные годы к картинкам добавляются. Я, ...
Что-то я задумалась, а из чего лучше делать рыбные котлеты для ребенка: из филе или целый рыбы. В первом случае все ясно - никаких заморочек с костями, но вот на сколько вредно то, чем растворяют кости на производстве? Есть ли рыба, кости которой вынимают вручную и филе получается без ...
Гора родила мышь. Основу нового санкционного списка США составляют различные политические козявки, вроде бывшего начальника милиции Житомирской области Юрия Ивакина и жены бывшего «народного губернатора Донбасса» Павла Губарева. Ужас) Бывшему начальнику житомирской милиции теперь запретят ...