Программное обеспечение цифровой фотографии

Часть 2

Примеры организации процесса обработки

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

Рассмотрим внимательнее случаи, где Photoshop в одиночку бессилен :-) Например снимки, сделанные в RAW камерой Canon 650 с самодельной насадкой, изготовленной из отечественных объективов. Ни о существовании RAW у этой камеры, ни о подобных насадках Photoshop не знает и, несмотря на всеобъемлемость, самостоятельно справиться с поставленной задачей не сможет.

Для начала вспомним, как это происходило с пленкой. Предварительные операции: выбор пленки, зарядка ее в аппарат. Далее собственно съемка. После надо извлечь пленку из аппарата и зарядить ее в бачок, не засветив. На этом предварительные операции заканчиваются и можно приступать к собственно обработке. Можно воспользоваться стандартным проявителем №2, а можно подойти к процессу творчески. Тогда по кусочку пленки отработать оптимальное время проявления. С полученных негативов сделать контактным способом контрольные отпечатки и подписать их, чтобы потом не забыть, что, где, когда и кто снят. Отобрать снимки, с которыми в дальнейшем будет вестись работа. Возможно, некоторые из них придется ослаблять или усиливать, на то существовал ослабитель Фармера, можно попытаться уменьшить зерно заменяя бромистое серебро на хлористое; деталей к снимку это не добавит, но зато зерно не будет бросаться в глаза. Переснять пленку и сделать дубли, это может понадобиться, если необходима ретушь, а также, если мы планируем, совмещая позитив с негативом, получить снимок, напоминающий гравюру. После этого идет длительная рутинная работа по печати больших отпечатков для альбома, а затем, возможно, еще и печать выставочных отпечатков большого размера. Или печать позитивов, с которыми предполагается дальнейшая работа уже на стадии обработки фотобумаги. Это может быть, например, вирирование (окрашивание отпечатков), засвечивание для получения эффекта соляризации, задубливание эмульсии для последующего покрытия масляной краской и получения фотографии в стиле бромойль. Я столь длинно описывал процесс обработки пленки, чтобы у тех, кто начал заниматься фотографией в эпоху минилабов, не возникло ощущения, что в этой цифровой фотографии напридумывали очень много лишнего, и все это очень сложно. Практически всем вышеописанным процедурам можно найти соответствующие и в цифровой фотографии.

Аналогом выбора пленки является выбор формата в котором камера сохраняет файлы. Тут есть несколько уровней. Простейший — воспользоваться общедоступным меню камеры. Более сложный — воспользоваться служебным меню и с помощью него активировать доступ к сырой информации регистрируемой камерой. И наконец, можно воспользоваться собственным меню. Такую возможность дает для камер Canon — CHDK.

Операции извлечения пленки из аппарата тоже можно найти аналог: переписывание фотографий с карт памяти в компьютер. Здесь возможны свои подводные камни. Например, ваш кардридер не умеет читать карты SDHC. Карта объемом более 4 ГБ отформатирована в FAT-16 с нестандартным размером кластера. У вас нет кардридера, и вы подключили камеру напрямую к компьютеру через USB. Однако производителями аппарата не предусмотрен режим, при котором компьютер увидит его как внешний диск, им нужно специальное программное обеспечение.

Переносить кадры из камеры в компьютер я предпочитаю считыванием карточек, а не подключением камеры. Однако все же, если такая необходимость возникает, то во многих случаях с ней справится программа gPhoto2 или программы ее использующие. Например, программа DigiKam. Последняя, впрочем, накладывает еще одно ограничение, ей нужен не просто Linux, а Linux с KDE. При работе с Windows обычно хватает средств ОС или программ производителя камеры.

Предположим, что с процессом переноса тем или иным способом мы справились. Цифровая фотография дает возможность, в отличие от пленки, отсортировать «негативы» и по возможности их подписать до проявки. Чтобы потом не оказалось, что одна и та же фотография снабжена разными подписями, лучше бы подписать исходный файл, но это не всегда возможно. Для файлов, вызванных к жизни CHDK, можно воспользоваться программой DNG for Power Shot. Полученные цифровые негативы DNG можно обрабатывать с использованием любого конвертора и редактировать данные в заголовках файла. Если одновременно со съемкой записывались координаты, то необходимо синхронизировать снимки с записями GPS по времени и записать координаты в exif заголовок файла. Для этой цели существует множество программ (о части из которых я уже писал), но не все из них умеют работать с сырыми снимками. А координаты зачастую являются более информативными, чем подписи, в особенности в пейзажной фотографии, поэтому операцию не стоит откладывать до получения финального результата. Это можно сделать с помощью программы Geotag. Она же позволяет и увидеть содержимое RAW файлов. Тем не менее, для просмотра и сортировки это не самая удобная программа, лучше воспользоваться специализированными. Тем более, что в отличие от координат, все остальные комментарии трудно сделать, не видя фотографии. Большинство из них могут и еще многое, но на данном этапе мы хотим только удалить явно неудачные снимки и подписать те, которые остаются в архиве.

Просмотр

С просмотром сырых снимков, в том числе недокументированных форматов, хорошо справляется под Windows программа FastStone Image Viewer. Она очень удобна для сравнения нескольких снимков и выбора лучшего. (Подробно об одно из предыдущих версий можно прочитать здесь.) Но нет в мире совершенства, и если необходимо редактировать заголовки IPTC, то в месте с ней стоит использовать программу ExifTool GUI.

FastStone
ExifTool GUI
Щелкнув мышью по миниатюре, можно посмотреть изображение 1:1

XnView предоставляет почти идеальное комплексное решение. Программа предназначена для просмотра и создания миниатюр, в том числе для недокументированных сырых файлов. Коррекция яркости и баланса, просмотра EXIF и IPTC с возможностью редактирования последнего. Есть функция сравнения нескольких снимков. Под Linux современной стабильной версии нет, надо либо запускать экспериментальную XnView MP либо версию для Windows через wine. На данном этапе последняя все равно будет работать быстрее и иметь больше возможностей по редактированию.

XnView
XnView MP

RawTherapee — универсальная программа, работающая как под Windows, так и под Linux. По возможностям редактирования одна из самых продвинутых. Может сделать все, включая даже усиление цвета в координатах Lab. Снимок экрана с этой программой см. ниже, где я буду подробнее рассматривать коррекцию оптических искажений. Как и три вышеупомянутых программы, она свободная только в смысле бесплатная. А это значит, что, если автор не обновит версию dcraw при компиляции, то вы, как и в случае с Photoshop, ничего поделать не сможете. При нынешнем бурном развитии открытый код становится весьма полезным не только для понимания, как работает программа (до этого руки обычно не доходят), но и, например, для обновления отдельных библиотек при компиляции, если выход готового бинарного пакета задерживается.

Если у вас на компьютере установлен KDE, то можно воспользоваться пакетом DigiKam или написанной его же разработчиками программой ShowFoto. По части обработки эти программы идентичны. Но в DigiKam включен еще ряд дополнительных функций, как, к примеру, перекачка фотографий из камеры, редактирование IPTC, привязка координат и просмотр местоположения на карте и т.д. Однако эта программа требует организовывать из ваших фотографий альбомы, а не работать с произвольными папками, что не всем нравится.

Если эти комментарии планируется писать кириллицей, то процесс унификации пока в проекте (см P.S.). Скорее всего, комментарии, написанные на Windows машине в кодировке 1251, будут видны под Linux в виде каких-то нечитаемых символов. Будущее за UTF, но и здесь нет единообразия. В Microsoft Windows NT и основанных на ней системах Windows 2000 и Windows XP в основном используется форма UTF-16LE. В UNIX-подобных операционных системах GNU/Linux, BSD и Mac OS X принята форма UTF-8. Если подписи исторически ведутся в кодировке 1251, один из возможных вариантов правильно прочитать их под Linux, это запустить XnView для Windows через программу Wine. Замечу, что формально заголовки IPTC и EXIF могут содержать только символы ASCII. Программа DigiKam вам просто не даст записать что либо в эти заголовки кириллицей. Другие программы менее строги, но с большой вероятностью записи можно будет прочитать только в них самих или в программах, использующих аналогичную кодировку. Заполнять соответствующие поля кириллицей позволяют программы Adobe, но нет никакой уверенности что даже следующая версия программы сможет прочитать эти комментарии. В свое время Adobe Acrobat 3 позволял создать тексты, использующие шрифт ArialCyr, но в следующих версиях программы этот текст прочитать уже не удастся. Многие программы позволяют вставлять в файлы свои комментарии вне стандартов EXIF и IPTC, но эти надписи другие программы, скорее всего, не увидят.

DigiKam
DidiKam
ShowFoto
ShowFoto
ShowFoto 0.8.0 практически идентичные окна есть и в программе DigiKam 0.9.4

ShowFoto

GQview 2.1.5 — простая, но быстрая программа просмотра. Давно не обновлялась, поэтому и поддержка RAW есть только для старых камер. Есть более новая «ветка» Geeqie Image Viewer с улучшенной поддержкой IPTC в том числе и написанных кирилицей за счет вывода вариантов в двух кодировках. С сырыми форматами новых камер и здесь есть проблемы.

Geeqie
Geeqie

Обработка

В большинстве случаев сырой формат представляет собой запись значений сигналов с фотоприемников. Обычно АЦП аппарата представляет нам эти данные в виде 10-, 12- или 14-разрядного двоичного числа. Кроме того, при превращении этого набора чисел в цветное изображение используется информация о расположении цветных фильтров перед фотоприемниками. Стандартная цифровая матрица содержит чередующиеся строки, содержащие, соответственно, одна — зеленые и синие фильтры, а вторая — красные и зеленые. Таким образом, точек, расположенных за зелеными фильтрами, вдвое больше, чем точек, содержащихся за синими и красными фильтрами. Цветное же изображение должно содержать информацию о всех трех цветах в каждой точке. Существуют разные алгоритмы предсказания цвета в тех точках, для которых у нас нет прямых измерений. Выбор программы конвертации RAW-файлов и параметров, с которыми это преобразование будет делаться, дает нам не меньшее богатство возможностей, чем применение разных проявителей к пленке.

Наиболее распространенные алгоритмы:

  • AHD — Adaptive Homogeneity-Directed interpolation (Адаптивная Гомогенно-Ориентированная интерполяция).
  • VNG — Variable Number of Gradients (Интерполяция по Переменному Числу Градиентов).
  • PPG — Patterned Pixel Grouping (Группировка Пикселей по Шаблону).
  • Bilinear interpolation (Билинейная интерполяция — самый простой и, как следствие, самый быстрый способ преобразования).

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

Большинство программ предлагают комплексное решение нескольких задач, однако не для всех и отнюдь не с одинаковым уровнем реализации доступных. Анализ выше приведенного списка показывает, что сегодня графический редактор из основного инструмента превратился во вспомогательный. Даже если его возможности позволяют решить все задачи фотографа, реализация многих процессов будет менее удобная и качественная, чем в специализированных пакетах. Например в среде KDE возможности графического редактора Krita по преобразованию сырых данных и коррекции аберраций оптики не идут ни в какое сравнение с возможностями входящей в KDE программы DigiKam. Определенные сложности добавляет то, что результат зависит от последовательности действий, а обратная операция не обязательно возвращает нас к исходному состоянию. Идеальным было бы решение, при котором в процессе поиска записываются все действия, затем, когда найдено решение, последовательность оптимизируется и применяется к исходному файлу, а не к промежуточному результату. Если же при переходе от одного пакета к другому без промежуточной записи в файл не обойтись, то возникает необходимость сохранить максимум информации, записав изображение с наибольшим количеством оттенков (бит на канал), и если в процессе обработки образовалось несколько слоев, то каждый слой должен быть записан отдельно. В большинстве случаев оптимальным форматом для промежуточных результатов является 16 битный TIFF или OpenEXR.

Таким образом, основной вопрос при выборе стратегии — это на каком этапе избыточная информация, содержащаяся в снимке, но не воспринимаемая глазом, может быть отрезана. Источником избыточной информации является во-первых АЦП камеры, записывающий больше разрядов, чем может быть выведено на экран или напечатано, и все случаи, когда информация суммируется из нескольких кадров. Несколько кадров возникают: 1) Когда необходимо получить угол охвата больший чем у объектива. В этом случае к исходным кадрам применяется операция исправления аберраций и затем они накладываются друг на друга. В случае применения специализированных программ для сшивки панорам может быть целесообразно передавать следующей программе стопку слоев для последующей индивидуальной коррекции наложения с использованием маски, созданной и отредактированной другой программой. 2) Когда есть несколько снимков, сделанных с разной экспозицией. 3) Когда есть несколько снимков с разной точкой фокусировки. Их объединение позволяет получить снимок с большей глубиной резкости.

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

Если уже на этом этапе планируется принять решение об отсечке избыточной информации и записи только 256 градаций на каждый канал, то требования к точности существенно повышаются. В какой-то степени это оправдывает относительно примитивные интерфейсы конверторов Raw в Krita и ImageJ.

Однако в ряде случаев разумно выполнять преобразование и коррекцию разными программами. В этом случае для конвертации Raw можно воспользоваться Rawstudio. Она весьма удобна для сравнения нескольких вариантов обработки одного кадра и выбора наилучшей стратегии. А затем она может быть применена для пакетной обработки. Текущая версия программы Rawstudio 1.0 умеет обрабатывать недокументированные файлы, но не строит их миниатюр для предварительного просмотра.

Программы коррекции аберраций

Самая интересная возможность, которую дает нам оцифровка и которая отсутствует при аналоговом способе обработки, — это программное исправление оптических аберраций объектива. В первую очередь, это дисторсия. Ее можно очень эффективно исправить, используя математический аппарат, разработанный Хельмутом Дершем и включенный им в его пакет Panotools. Название пакета указывает на то, что эта операция программного исправления аберраций жизненно необходима для получения качественных панорам. Но она может быть использована и для коррекции одиночных кадров. Одиночные кадры часто не исправляют, поскольку искажения практически незаметны, и становятся заметны только когда два снимка, на которых один тот же объект находится на разном расстоянии от центра кадра накладываем друг на друга. Если определить разные коэффициенты коррекции для каждого цветного слоя в отдельности, то у нас появится возможность исправить не только дисторсию, но и хроматические аберрации. Принципиальная роль программ, построенных по принципам, сформулированным Дершем, заключается в том, что возможно решение обратной задачи, и идеально снятая панорама с учетом необходимости вращения объектива вокруг узловой точки, позволяет нам вычислить коэффициенты, необходимые для исправления в будущем всех снимков, сделанных этим объективом, вне зависимости от того, будем ли мы сшивать из них панораму. Естественно, что если объектив с переменным фокусным расстоянием, то панорамы, необходимые для определения коэффициентов, нам придется снимать при каждом фокусном расстоянии.

Идеи, заложенные в Panotools, дополненные очень мощным графическим интерфейсом, получили развитие в программе hugin.
Эта программа сшивки панорам позволяет вычислить коэффициенты коррекции дисторсии для конкретного объектива и в дальнейшем использовать не только с этой программой, но и с другими, например UFRaw с lensfun. Может использоваться с отдельными файлами для коррекции дисторсии и виньетирования и пересчета из одной проекции в другую. Возможно и исправление хроматических аберраций, но не очень удобное. Работает с файлами TIFF и JPEG. На данный момент стабильной является версия 0.7, и разрабатывается версия 0.8, которая на данный момент отличается более быстрым окном предварительного просмотра. Подробнее об одно из предыдущих версий я уже писал здесь.

hugin
hugin 0.8
Окно предварительного просмотра.

lensfun — библиотека, написанная Андреем Заболотным, которая может быть использована другими программами для исправления хроматических аберраций, дисторсии и виньетирования. Поддерживается база данных с характеристиками объективов и камер в формате XML. На сегодняшний день самая всеобъемлющая и перспективная разработка. Насколько широкое распространение она получит, покажет время. Пока ее работу можно увидеть только вместе с UFRaw.

UFRaw с lensfun работает только с Raw, но она предоставляет самые богатые возможности коррекции аберраций, умеет исправлять хроматические аберрации, виньетирование и дисторсию. При исправлении дисторсии возможно использование нескольких моделей. Работает с базой для камер и объективов. Может пересчитать изображение из одной проекции в другую. Стабильная версия на сайте в момент, когда я начинал писать эту статью, была UFRaw 0.13, основанная на DC RAW 8.80, и опубликованная 12 ноября 2007 года. Другими словами, снимки, сделанные аппаратами, выпущенными после этой даты, эта программа обрабатывать не сможет. Столь старая версия программы не означает, что над ней не работают. На CVS можно увидеть, что работа как раз кипит, но когда она оформится в стабильную версию, никто не знает. Однако если функциональность текущей версии нас устраивает, а необходима только поддержка новых камер, то никаких проблем не возникает: скачиваем свободно распространяемые исходные коды программы UFRaw и исходный код последней программы dcraw с сайта Дэвида Коффина. Объединяем, компилируем, et voila. Когда я уже заканчивал работу над этой статьей, была опубликована — UFRaw-0.14.1 от 19 октября 2008. Готовые пакеты отличаются от предыдущей версии практически только поддержкой новых камер, однако если компилировать их из исходных кодов, то можно включить модуль (./configure --with-lensfun) исправления аберраций. Программа UFRaw позволяет как записать преобразованные фотографии, в 8-битном или 16-битном формате, так и направить их прямо в графический редактор.

UFRaw
UFRaw
Хроматические аберрации
Оптическое виньетирование
UFRaw
UFRaw
Искажения объектива (дисторсия)
Геометрия объектива (проекция)

RawTherapee, вопреки названию, может работать как с Raw, так и с JPEG, но в части исправлений аберраций она беднее, чем UFRaw с lensfun.

Fix-CA плагин GIMP для коррекции хроматических аберраций. Позволяет править не только хроматические аберрации увеличения (в англ. литературе «lateral chromatic aberration»), но и линейно сдвигать каналы друг относительно друга, что позволяет работать с фрагментами полного кадра. GIMP также имеет и плагин Коррекция искажений оптики для исправлений дисторсии и виньетирования.

Fix-CA
GIMP
Коррекция искажений оптики для исправлений дисторсии, виньетирования и перспективы

DigiKam имеет модуль коррекции искажений оптики, позволяющий слегка править дисторсию и виньетирование (идентичные модули и в программеShowFoto). Хроматические аберрации могут быть исправлены через настройки конвертора Raw, но графический интерфейс отсутствует, и нужно знать числовые значения поправок.

DigiKam
DigiKam
Дисторсия
Виньетирование
DigiKam
Преобразование Raw и коррекция хроматических аберраций

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

Krita
Модуль коррекции дисторсии в программе Krita. Узор показывает как будет изменен снимок, однако это не находка нового способа визуализация процесса, а следствие недоработки программы. Эффект возникает при работе в режиме 16 бит на канал, и результирующее изображение будет выглядеть столь же экстравагантно, как и в окне предварительного просмотра.

Графические редакторы

Если фотографии требуют более тщательной обработки, их придется загружать в графический редактор. Тут возможны два варианта, и каждый из них имеет свои плюсы и минусы. Первый вариант — это загрузить в графический редактор сырые файлы, второй — максимально откорректировать другими программами и оставить графическому редактору только те операции, которые по-другому выполнить невозможно.

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

Я рассматриваю 4 редактора. GIMP, CinePaint, Krita, ImageJ. В тои или иной степени они все могут справится с вышеперечисленными задачами, но при этом столь разные, что вряд ли являются конкурентами. Все четыре используют для расшифровки сырых данных dcraw, но имеют разные графические интерфейсы. GIMP и CinePaint могут использовать несколько графических интерфейсов к этой программе, но стандартом де факто для загрузки Raw файлов для них стала программа UFRaw. Внешне похожие GIMP и CinePaint сегодня сильно различаются по целевой аудитории. Они разветвились во времена первой версии, и на сегодняшний день это и функционально, и по коду абсолютно разные программы. Если 8 бит на канал достаточно, то, на мой взгляд, GIMP удобнее и имеет больше возможностей. Если же необходимо работать с повышенным динамическим диапазоном, то надо использовать CinePaint. Здесь вам обеспечена поддержка 16-bit Unsigned innteger, 16-bit OpenEXR Half Float, 32-bit IEEE Float, 16-bit Fixed Point 0-2.0. Как мы видим, ограничений с глубиной цвета в CinePaint нет, хотя и построен он на старой GTK-1 (На CVS есть экспериментальная версия 0.25 на GTK2). Стабильная версия GIMP построена на GTK-2, однако есть поддержка только 8-битного цвета, а поддержку 16-битного обещают только после перехода на GEGL. Как написано на сайте, после того, как интеграция GEGL будет закончена, GIMP в конце концов обретет поддержку большей глубины цвета, больших цветовых пространств и недеструктивного редактирования. Но это все в будущем. В вышедшей 1 октября 2008 года версии 2.6 GEGL уже есть, но открыть файл с глубиной цвета в 16 бит не удастся, хотя операции с 8 битными изображениями уже можно делать, используя GEGL. Так что, если нам нужно 16 бит на канал, то на сегодняшний день мы можем воспользоваться программой CinePaint, работающие версии которой существуют для всех операционных систем, кроме Windows, графическим редактором растровых изображений Krita 1.6.3, входящим в koffice и, соответственно требующей KDE. Кроме того, можно воспользоваться графическим редактором ImageJ, написанным на Java, и, соответственно, вообще не зависящим от операционной системы. Редактор очень любопытный. Некоторые привычные функции в нем реализованы совсем примитивно. Зато есть такие, которых не найдешь в других программах, и реализованы они очень здорово. Редактор в первую очередь предназначен для анализа изображений и научной обработки фотографий. Для этой программы написано множество плагинов, приложений, предназначенных для работы со стопками снимков, и, в частности, сделанных под микроскопом, для получения в результате из снимков, сделанных с обычным микроскопом, снимки, напоминающие результаты конфокального микроскопа. Для этого графического редактора существует плагин, основанный на dcraw, позволяющий прямо загружать RAW-файлы. Однако его интерфейс достаточно примитивный, возможно, стоит воспользоваться более развитыми графическими оболочками к программе dcraw.

GIMP
Gimp 2.6.2

Krita
Krita 1.6.3

CinePaint
CinePaint 0.22.1 на GTK1

CinePaint
CinePaint на GTK2. В заголовке по-прежнему старый номер версии, хотя это уже 0.25

ImageJ
ImageJ 1.40g

Резюмируя, я бы сказал, что UFRaw с lensfun + GIMP мощный и удобный инструмент, все операции коррекции можно сделать в UFRaw, а GIMP нужен для работы со слоями и ретуши. При желании можно усилить цвет, разложив изображение на слои, соответствующие каналам Lab. GIMP + guteprint позволяет без проблем печатать на фотореалистичных принтерах из-под Linux. Если необходимо работать с HDRI или объединять в панораму слои с 16 битным цветом, то необходим CinePaint или Krita. В пользу Krita только возможность визуально работать с Lab. Минус скорость и слабый встроенный конвертор RAW. Все три вышеупомянутых редактора поддерживают полноценную работу с графическим планшетом Wacom. Правда в GIMP под Windows поддержка активируется только если его запустить с помощью пера, а в CinePaint с GTK2 поддержка есть, потенциально, но мне ее запустить не удалось. Время поворота на 17 градусов 12 Мп изображения с глубиной цвета 16 бит на канал в CinePaint 0.22-1и Krita 1.6.3 практически одинаковое, но у последней более медленный интерфейс, и при коррекции в режиме 16 бит на канал реакция на изменение параметров яркости, мягко скажем, непривычная. Картинка обесцвечивается. К любой программе надо привыкать, и на данном этапе мне более комфортно работать с 16 битным изображением в программе CinePaint. ImageJ предпочтителен при анализе изображений и объединении стопки снимков с разными точками фокусировки. Неожиданно, но вращает этот редактор быстрее всех, возможно, потому что у этой операции нет возможности отката. Корректировать в программе не очень удобно, поскольку работать всегда приходится с каждым каналом в отдельности.

HDRI

В природе диапазон изменений яркости может быть так велик, что разрядность оцифровки не решает проблемы. Нужно иметь либо датчики разной площади в каждой точке, что реализовано в камерах Fuji, либо снимать несколько кадров с разной экспозицией. Экспозиция может меняться выдержкой, диафрагмой или нейтральным фильтром. В результате, мы получаем стопку снимков, на одних из которых хорошо видны детали в цветах, а на других в тенях. Возникает необходимость объединить эти снимки в единое изображение, с учетом возможного смещения камеры за время, прошедшее между снимками. Для этой цели служит программа для повышения фотографической широты (HDR imaging) за счет объединения нескольких снимков Qtpfsgui. Программа Qtpfsgui является графическим интерфейсом, использующим Qt4 над библиотекой pfs. При объединении нескольких последовательно сделанных снимков с разной экспозицией программа для точного совмещения использует разные алгоритмы, в частности, для особо точного, вышеупомянутую программу hugin. Учитывая гигантский размер файлов программа позволяет выбрать стратегию обработки на миниатюрах и только потом полученный сценарий запустить для файла большого размера. Программа может работать с сырыми файлами, поддерживаемыми DCRaw.

Qtpfsgui
Qtpfsgui
Выбор снимков
Общая коррекция уровней
Qtpfsgui
Qtpfsgui
Совмещение
Различные варианты отображения тонов

В заключение, упомяну программу Fotoxx, как имеющую некоторое отношение к HDRI. Программа не позволяет ни просматривать, ни обрабатывать RAW-файлы. Но если у вас файлы записаны камерой в формате JPEG, то Fotoxx позволит осуществить тонкую настройку яркости в светах и тенях отдельно, повернуть фотографию на произвольный угол, убрать красные зрачки, возникшие от работы вспышки, кадрировать изображение, изменить его размер, убрать шум, сгладить или увеличить резкость, трансформировать изображение, изменить насыщенность цветов, а также создать панораму или объединить несколько снимков, снятых при разной экспозиции. К объединенному снимку можно применить операцию коррекции яркости и полученный результат записать в файле JPEG. Программа неплохо совмещает снимки.

P.S.

Работа с изображениями, естественно, подразумевает некую графическую среду. В некоторых случаях от нее зависит больше, чем от платформы, на которой запускается та или иная программа. Для выполнения расчетов часто достаточно текстового режима, который обеспечивает необходимый комфорт, а возможно, и большую скорость, чем графический режим. Однако уже при обработке результатов отсутствие графического представления, например, в виде графиков или диаграмм, способно существенно замедлить процесс. Я это здесь пишу для того, чтобы подчеркнуть, что пуританский подход любителей терминального режима неприемлем для повседневной работы с графикой, когда в процессе работы надо принимать решение о стратегии обработки. И в то же время он прекрасно подходит для пакетной обработки большого количества фотографий, когда оператор не удосуживается взглянуть на изображение в обрабатываемом файле. Впервые с графической средой я встретился в конце 1980-х годов. Тогда для верстки использовалась программа Ventura Publisher, выпущенная в 1986 году, которая была графическим приложением DOS, требующим для работы загрузки графической оболочки GEM.

Этот и большинство остальных графических интерфейсов ведут свою историю от компьютера Xerox Alto, разработанного в исследовательском центре Xerox PARC в 1973 году. Преемственность, кстати, в первую очередь определялась переходом сотрудников участвовавших в разработке из фирмы в фирму, а не прав от одной фирмы к другой.

Таким образом, хотя я в последнее время предпочитаю Linux, это не совсем точная формулировка, поскольку без X Window System я работать с графикой в голом Linux'е не смог бы. Система X Window System была разработана в Массачусетском технологическом институте (MIT) в 1984 году. Нынешняя версия протокола — X11 — появилась в сентябре 1987 года. История графических оболочек древнее и Линукса, и творений Microsoft. В 1990-е годы бурное развитие Windows и особенно массовое внедрение создало мнение о неприспособленности UNIX- систем для работы с графикой. Сегодня существенной разницы для фотографа, на машине с какой операционной системой ему обрабатывать фотографии, нет. К тому же, многие из вышеперечисленных программ являются мультиплатформными. Однако почти монопольное положение Microsoft все же создало определенные проблемы, причем не в области программирования, а в смежной области работы с компьютерными компонентами и периферией. Драйверы под Windows есть всегда, а драйверы под Linux, или хотя бы возможность написать собственный, часто отсутствуют. Фирменные драйверы для видеокарт для Windows и Linux по функциональности различаются как земля и небо. Не знаю, есть ли сговор, но фирмы не только не тратят собственные деньги на разработку драйверов под альтернативные Windows операционные системы, но и всячески мешают созданию независимых, хотя, казалось бы, в этом случае за них бесплатно делают работу и расширяют рынок потенциальных потребителей. Основная проблема на сегодня это калибровка. Результатами работы калибраторов можно воспользоваться под любой ОС, а вот для работы с ними придется запускать Windows. Кстати, при сегодняшних объемах дисков и наличии удобных загрузчиков ОС я не считаю проблемой держать на одном компьютере несколько операционных систем даже если некоторые из них будут использоваться только для запуска одной программы :-)

Еще более серьезным монополистом, чем Microsoft, является фирма Adobe. Когда пишется эта статья, на выставке Photokina 2008 фирма анонсировала свой Photoshop CS4. Это, безусловно, великолепный продукт №1 в области графических редакторов, однако, будет ли он способствовать развитию индустрии или, наоборот, будет способствовать ее стагнации, отнюдь не очевидно. Причина проблемы, на мой взгляд, состоит в том, что Photoshop может все. При этом мало у кого хватит энергии, чтобы изучить эту программу целиком на уровне Дена Маргулиса, и тем более, слабо верится, что кому-то удастся рентабельно использовать все ее возможности. Профессиональный фотограф использует ее процентов на десять, причем разные фотографы в зависимости от жанра, в котором они работают, используют разные функции этой программы. Программа Photoshop является лучшей в целом, а не лучшей в отдельности. Большинство операций могут быть выполнены и с помощью других программ с неменьшим успехом. Говорить, кто лучше, сегодня становится бессмысленным, поскольку многие операции уже доведены до практического совершенства. Поэтому разница будет только в интерфейсе, а не в конечном результате. Удобства же интерфейса это вопрос вкуса. Кроме того, надежность — это сдерживающий фактор, и если вы хотите использовать последние достижения, то, вероятно, их не будет в стабильном продукте. Кто не рискует тот не пьет шампанского, можно детально изучить стабильный продукт и получать результат лучший, чем у конкурентов, можно рискнуть и сделать ставку на последние разработки и опередить конкурентов или упустить заказ, поскольку программа зависнет. Специалисты в Photoshop совершенствуют свое мастерство ежедневно, вы станете лучшим специалистом в Photoshop, только когда предыдущее поколение вымрет или отойдет от дел; делая ставку на экспериментальные собственные разработки вы рискуете, поскольку результат не гарантирован. И еще есть свобода выбора операционной системы. Продукт номер один + Windows по совокупности характеристик может для отдельных задач проиграть продукту №10, установленному на другую ОС.

Фирма Adobe отнюдь не является автором всех прогрессивных усовершенствований в области графики. Программы обработки RAW и исправления аберраций зародились и успешно развивались вне ее стен. Если завтра цены на Photoshop упадут с заоблачных высот, то охота трудиться над альтернативными проектами пропадет даже у энтузиастов. Кроме того, Photoshop действительно очень эффективно работает как с процессорами, так и с видеокартами. Возможно, сговора с производителями и нет, и дополнительной информации Adobe не получает, но даже пустые подозрения не способствуют плодотворной работе независимых программистов. Единственному нетрудно быть и лучшим, и как только остальные уйдут из этой области, экономические законы скажут свое веское слово, и менеджеры фирмы, если они умеют считать, перестанут вкладывать деньги в разработку новых идей. В свое время, среди коммерческих графических редакторов была вполне реальная конкуренция. ZSoft PC Paintbrush для MS-DOS — это еще до рождения Adobe для Macintosh. Aldus ( разработка Ulead) PhotoStyler, Micrografx Picture Publisher, Jasc Software Paint Shop Pro — это уже реальные конкуренты Photoshop под Windows. В свое время все эти программы мне нравились больше Photoshop'а. Однако Aldus куплен Adobe'ой, и сразу после этого PhotoStyler прекратил свое существование. Corel поглотил Micrografx и JASC Software и в результате из двух программ продолжает развиваться только Corel Paint Shop Pro. В любом случае, коммерческой конкуренции уже нет, поскольку графический редактор №2 это GIMP. Он очень неплохо развивается и, вероятно, грядущая версия 2.8 будет вполне конкурентоспособна с Photoshop CS, а может, и CS3. Но Adobe уже сегодня выпустила CS4, а стабильный GIMP сегодня это всего лишь 2.6. Corel Paint Shop Pro хорошая добротная программа, но и по цене и по амбициям она уже не конкурент Photoshop CS4.

Для преуспевающего фотографа сиюминутно Photoshop это благо — приобретение его позволит сэкономить нервы и время при решении многих задач. Для его детального освоения понадобится время, сравнимое с необходимым на освоение свободно распространяемых программ. Как заметил Владимир Попов: «для мира open source «чистый пользователь» — существо малозначимое», т. е. единственный пользователь, чьи интересы учитываются, это автор программы.Таким образом, процесс освоения проприетарных и свободных программ будет проходить по-разному — в одном случае мы будем пытаться угадать методом научного тыка, что нам забыли сказать, в другом случае нам сказали все, да только на языке программного кода :-). В результате, скорее всего, на детальное изучение потребуется близкое время, и в результате Photoshop не обязательно даст лучший результат. Косвенным подтверждением этой мысли является тот факт, что и при миллионном бюджете создатели Гарри Поттера предпочли CinePaint.

Впрочем, CinePaint — действительно профессиональный редактор, но не конкурент Photoshop'у. Он предназначен для массового выполнения, хоть и сложных, но рутинных операций. Эти операции всегда есть и еще долго будут. Чтобы быть конкурентоспособным, ему не нужно непрерывно обновляться. То же относится и к обработке научных фотографий, область, которую теперь Adobe тоже решила прибрать к рукам. В художественной фотографии, как только прием становится рутиной, он перестает приносить деньги. А новых инструментов не будет. Свои разрабатывать невыгодно, чужие — ни позаимствовать, ни перекупить будет не у кого. Так что будем надеяться на заоблачные цены на Photoshop, иначе есть риск, что процветание кончится.

На последней выставке Photokina был еще один анонс, который имеет прямое отношение к теме данной статьи. Metadata Working Group Introduces First Specification for Interoperability and Preservation of Metadata in Digital Photography. Фотографий становится все больше, и вопрос их систематизации становится архиважным. Возможно, внедрение нового стандарта и позволит наконец нам правильно понимать комментарии и технические параметры вне зависимости от того, аппаратом какой фирмы и на каком языке они записаны в файл. Рекомендовано использовать UTF-8. Однако список подписантов: Adobe, Apple, Canon, Microsoft, Nokia and Sony заставляет вспомнить, что обилием кодировок русского языка мы обязаны именно фирме Microsoft и что комментарии к фотографиям в Windows записывались в кодировке Юникод. Однако потом был шаг назад. В общем, поживем — увидим. Однако то, что среди разработчиков этого документа совсем не представлен мир Open Source, наводит на размышления, не преследуют ли они свои интересы и не придется ли нам через некоторое время покупать у них лицензию, чтобы прочитать свои старые комментарии. Присутствие разработчиков аппаратуры среди подписантов, безусловно, важно. Но поскольку последние 50 лет мы только удаляемся от открытых стандартов в фототехнике, и взаимозаменяемость аксессуаров и объективов становится все более и более проблематичной, мне представляется, что этот документ, если бы он основывался на открытых стандартах, то мог бы оказать положительное давление на производителей и заставить их делать фотокамеры хотя бы столь же унифицированными, как компьютеры.





20 ноября 2008 Г.

2

2

; , . , , , , . .

, Photoshop :-) , RAW Canon 650 , . RAW , Photoshop , , .

, . : , . . , . . 2, . . , , , , . , . , , , ; , . , , , , , , , . , , , . , . , , ( ), , . , , , , , . .

. . — . — . , . Canon — CHDK.

: . . , SDHC. 4 FAT-16 . , USB. , , .

, . , , gPhoto2 . , DigiKam. , , , Linux, Linux KDE. Windows .

, . , , «» . , , , . , CHDK, DNG for Power Shot. DNG . , GPS exif . ( ), . , , , . Geotag. RAW . , , . , , , . , , .

, , Windows FastStone Image Viewer. . ( .) , IPTC, ExifTool GUI.

FastStone
ExifTool GUI
, 1:1

XnView . , . , EXIF IPTC . . Linux , XnView MP Windows wine. .

XnView
XnView MP

RawTherapee — , Windows, Linux. . , Lab. . , . , . , , dcraw , , Photoshop, . , ( ), , , , .

KDE, DigiKam ShowFoto. . DigiKam , , , , IPTC, .. , , .

, ( P.S.). , , Windows 1251, Linux - . UTF, . Microsoft Windows NT Windows 2000 Windows XP UTF-16LE. UNIX- GNU/Linux, BSD Mac OS X UTF-8. 1251, Linux, XnView Windows Wine. , IPTC EXIF ASCII. DigiKam . , , . Adobe, . Adobe Acrobat 3 , ArialCyr, . EXIF IPTC, , , .

DigiKam
DidiKam
ShowFoto
ShowFoto
ShowFoto

GQview 2.1.5 — , . , RAW . «» Geeqie Image Viewer IPTC . .

Geeqie
Geeqie

. 10-, 12- 14- . , . , , , — , — . , , , , , . . , . RAW- , , , .

:

  • AHD — Adaptive Homogeneity-Directed interpolation ( - ).
  • VNG — Variable Number of Gradients ( ).
  • PPG — Patterned Pixel Grouping ( ).
  • Bilinear interpolation ( — , , ).

, , , , . .

, . , . , , . KDE Krita KDE DigiKam. , , . , , , , , . , , ( ), , . 16 TIFF OpenEXR.

, — , , , . - , , , , . : 1) . . , . 2) , . 3) . .

. DCRaw, , .

256 , . - Raw Krita ImageJ.

. Raw Rawstudio. . . Rawstudio 1.0 , .

, , — . , . , , Panotools. , . . , , , . , , . , , , , , , , , , , . , , , , .

, Panotools, , hugin.
, , UFRaw lensfun. . , . TIFF JPEG. 0.7, 0.8, . .

lensfun — , , , . XML. . , . UFRaw.

UFRaw lensfun Raw, , , . . . . , , UFRaw 0.13, DC RAW 8.80, 12 2007 . , , , , . , . CVS , , , . , , : UFRaw dcraw . , , et voila. , — UFRaw-0.14.1 19 2008. , , (./configure --with-lensfun) . UFRaw , 8- 16- , .

UFRaw
UFRaw
UFRaw
UFRaw
()
()

RawTherapee, , Raw, JPEG, , UFRaw lensfun.

Fix-CA GIMP . ( . «lateral chromatic aberration»), , . GIMP .

Fix-CA
GIMP
,

DigiKam , ( ShowFoto). Raw, , .

DigiKam
DigiKam
DigiKam
Raw

, , , .

Krita
Krita. , , . 16 , , .

, . , . — , — , - .

, . . , .

4 . GIMP, CinePaint, Krita, ImageJ. , , . dcraw, . GIMP CinePaint , Raw UFRaw. GIMP CinePaint . , , . 8 , , , GIMP . , CinePaint. 16-bit Unsigned innteger, 16-bit OpenEXR Half Float, 32-bit IEEE Float, 16-bit Fixed Point 0-2.0. , CinePaint , GTK-1 ( CVS 0.25 GTK2). GIMP GTK-2, 8- , 16- GEGL. , , GEGL , GIMP , . . 1 2008 2.6 GEGL , 16 , 8 , GEGL. , 16 , CinePaint, , Windows, Krita 1.6.3, koffice , KDE. , ImageJ, Java, , , . . . , , . . , , , , , , , , , . , dcraw, RAW-. , , dcraw.

GIMP
Gimp 2.6.2

Krita
Krita 1.6.3

CinePaint
CinePaint 0.22.1 GTK1

CinePaint
CinePaint GTK2. - , 0.25

ImageJ
ImageJ 1.40g

, , UFRaw lensfun + GIMP , UFRaw, GIMP . , , Lab. GIMP + guteprint - Linux. HDRI 16 , CinePaint Krita. Krita Lab. RAW. Wacom. GIMP Windows , CinePaint GTK2 , , . 17 12 16 CinePaint 0.22-1 Krita 1.6.3 , , 16 , , . . , 16 CinePaint. ImageJ . , , , . , .

HDRI

, . , Fuji, . , . , , , . , , . (HDR imaging) Qtpfsgui. Qtpfsgui , Qt4 pfs. , , , hugin. . , DCRaw.

Qtpfsgui
Qtpfsgui
Qtpfsgui
Qtpfsgui

, Fotoxx, HDRI. , RAW-. JPEG, Fotoxx , , , , , , , , , , , . JPEG. .

P.S.

, , . , , . , , , , . , , , . , , , . , . 1980- . Ventura Publisher, 1986 , DOS, GEM.

Xerox Alto, Xerox PARC 1973 . , , , .

, Linux, , X Window System Linux' . X Window System (MIT) 1984 . — X11 — 1987 . , Microsoft. 1990- Windows UNIX- . , , . , . Microsoft , , . Windows , Linux, , . Windows Linux . , , Windows , , , , . . , Windows. , :-)

, Microsoft, Adobe. , Photokina 2008 Photoshop CS4. , , 1 , , , , , . , , , Photoshop . , , , , - . , , , . Photoshop , . . , , , . , . . , — , , , , . , , , , . Photoshop , Photoshop, ; , . . + Windows 10, .

Adobe . RAW . Photoshop , . , Photoshop , . , , Adobe , . , , , , , . , . ZSoft PC Paintbrush MS-DOS — Adobe Macintosh. Aldus ( Ulead) PhotoStyler, Micrografx Picture Publisher, Jasc Software Paint Shop Pro — Photoshop Windows. Photoshop'. Aldus Adobe', PhotoStyler . Corel Micrografx JASC Software Corel Paint Shop Pro. , , 2 GIMP. , , 2.8 Photoshop CS, , CS3. Adobe CS4, GIMP 2.6. Corel Paint Shop Pro , Photoshop CS4.

Photoshop — . , . : « open source « » — », . . , , . , - — , , , :-). , , , Photoshop . , CinePaint.

, CinePaint — , Photoshop'. , , . . , . , , Adobe . , , . . , — , . Photoshop, , .

Photokina , . Metadata Working Group Introduces First Specification for Interoperability and Preservation of Metadata in Digital Photography. , . , , . UTF-8. : Adobe, Apple, Canon, Microsoft, Nokia and Sony , Microsoft Windows . . , — . , Open Source, , , . , , . 50 , , , , , , .