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

топ 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: Судя по многочисленным отзывам, программа прекрасно пашет на всех моих домашних компах, но ни на чьих больше :) Сорри, завтра проверю на работе, что за фигня творится, обновлю пост.

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

Архив записей в блогах:
Возможно ли удалить надписи с корпуса автоматического выключателя АВВ? Они теперь наносятся не печатным способом, а какой-то лазерной фигнёй что-ли. Никакими растворителями не оттираются. Чем бы ещё попробовать? ...
Путевые заметки, день 1 Панама - это столица Панамы. Здесь начинается мое путешествие по Центральной Америке. В начале 2012 года газета The New York Times в ежегодно публикуемом ею списке мест нашей планеты, которые стоит посетить в наступившем году, ...
Это Великий Русский Город Саратов Который местные жители называют засратов Больше ада: http://svinzovaja.livejournal.com/26065.html А теперь опросик для граждан Великой и Святой ну и для остальных тоже, кстати. View Poll: комунальщики ...
Вначале подборка моих видео, начиная с 2010 года. Последнее видео конечно же не моего авторства. Вы думаете нынешний происходящий кошмар возник внезапно? Это не так. Ситуация вызревала много лет, по крайней мере последние лет 10 это точно, начиная с приснопамятного оранжевого майдана. Укра ...
властям Грузии, и думаю именно конкретно Гарибашвили, респект Запись сделана с помощью приложения LiveJournal для Android . Некоторые технические детали ...