Цифровой фотографией увлекается едва ли не каждый второй, но далеко не все любители преодолевают тот рубеж, после которого хобби становится профессией. Одна из причин того — невнимание к дефектам и искажениям на снимках, вызванным особенностями устройства цифровых камер, а также их настройками.
Снимок не всегда сразу получается идеальным, но большинство распространенных недостатков цифрового фото можно исправить программно, о чем и пойдет речь ниже.
Операционная система Linux прекрасно подходит как начинающим, так и специалистам. С ее помощью можно не только хранить, упорядочивать и печатать снимки, но и «вытягивать» размытые и «шумные» фото.
Инструментарий
Применим для восстановительной работы всем известный редактор изображений The GIMP. Это будет наш главный инструмент. Не секрет, что сила GIMP заключается в его расширяемости, и потому нам не обойтись без плагинов. Бороться с нерезкостью мы будем с помощью Refocus и Refocus-it, шумы подавим, установив GREYCstoration и некоторые плагины с сайта GIMP Plugin Repository, а для исправления искажений оптики в свежих версиях GIMP есть соответствующие встроенные средства. Нужно отметить, что для описываемых здесь операций очень важна вычислительная мощь процессора. Так, удаление шумов на 7-Мпикс фотографии может занять больше 1 ч, если используется AMD Athlon X2 бюджетной модели или более медленный ЦП.
Борьба с нерезкостью
Часто самые удачные кадры страдают от размытости, например, если съемка ведется с рук в комнате с не очень яркой лампой. В этом случае фотокамера автоматически выставляет достаточно большую выдержку. За то время, пока шторка объектива открыта, руки фотографа неминуемо дрогнут — и даже малейшее движение заметно отразится на резкости снимка. Также смазанные изображения получаются, если объект в кадре стремительно двигается.
Разумеется, сильно размазанный кадр спасти не удастся, но с легким дрожанием рук вполне можно справиться. Заметьте, что фильтрами типа Sharpen и «Нерезкая маска» нельзя воздействовать на фокусное расстояние — они работают с деталями «на плоскости» и не влияют на глубину резкости. Для решения нашей задачи нужен плагин Refocus, который после установки появляется в GIMP в разделе «Фильтры•Улучшение».
Refocus
Откроем окно плагина Refocus. Справа от окна предварительного просмотра представлены пять параметров, и от того, правильно ли они будут настроены, напрямую зависит результат работы Refocus.
Matrix Size — данный параметр отвечает за размер матрицы, по которой будут просчитываться точки изображения. Большие значения этого параметра полезно использовать вместе с пропорционально увеличенными числами для Radius и Gauss. Возрастание размера матрицы влияет на скорость работы плагина: время увеличивается в геометрической прогрессии.
Radius — радиус, по которому будут «подкручиваться» точки относительно друг друга (таким образом Refocus пытается вернуть резкость). Радиус подкручивания (также называемого конволюцией) — самый важный элемент при восстановлении резкости. При несильном размытии подойдет его значение по умолчанию, равное 1. Если же изображение размыто сильно, то величину радиуса нужно увеличить, подбирая вручную.
Gauss — радиус размытия по Гауссу. Логично, что наилучшим образом этот параметр влияет на изображения именно с таким типом размытия. Во всех остальных случаях здесь можно оставить 0 — значение по умолчанию. Нужно учитывать, что ненулевые значения данного параметра добавляют в изображения неприятные артефакты, которые рекомендуется подавлять параметрами Correlation и Noise.
Correlation — параметр, смягчающий действие Refocus и помогающий избавиться от артефактов (когда, к примеру, чрезмерно резкими становятся края блоков в сжатом файле JPEG). Диапазон его значений — от 0 до 1. Полезными из них являются 0,5 и 0,95—0,99.
Noise — способ подавления шумов. Очень важно правильно подобрать нужное значение этого параметра. Так, при 0 качество изображения будет ужасным, в то время как показатель 0,2 и более уже будут работать против повышения резкости и лишь «замылят» картинку.
Если умело использовать все параметры, то можно заметно повысить качество фотографии (рис. 1a, b).
Помимо установки значений указанных выше типов нерезкости Refocus также помогает возвращать резкость снимкам, отсканированным или как-либо еще переведенным из аналогового состояния в цифровое.
Refocus-it
Данный плагин также предназначен для борьбы с нерезкостью, однако он предоставляет более тонкие параметры настройки. Refocus-it способен эффективно восстановить фокус в фотоснимках, сделанных с расфокусировкой, а также исправить такие дефекты, как размытие в движении (Motion blur) и гауссово размытие.
Кроме стандартных функций, направленных на улучшение резкости, разработчик позаботился и о сопутствующих инструментах: прямо в окне плагина можно сгладить резкие артефакты, неизбежно появляющиеся при работе с изображениями низкого качества. В правой части диалогового окна имеется черный кружок со стрелкой — ею можно задать направление уже имеющегося размытия в движении.
Практическая польза Refocus-it особенно заметна в ситуациях, когда из-за смазанности не удается прочитать или распознать нечто значимое. Возьмем, к примеру, фрагмент фотографии страницы журнала (рис. 2a).
Очевидно, что прочитать такой текст почти невозможно — с трудом различимы только отдельные очертания, а фильтр «Нерезкая маска» лишь подчеркнет имеющиеся искажения.
Работа плагина Refocus-it будет чрезвычайно эффективной, если точно подобрать необходимые параметры. Пожалуй, главный из них — величина размытия (радиус). При наличии на снимке резких объектов на контрастном фоне нужно приблизить изображение и посчитать, сколько точек создают ореол размытия. Если такой способ не подходит, то остается метод проб и ошибок. Когда будет подобрано верное значение, результат получится примерно такой же, какой показан на рис. 2b.
При выполнении данной обработки употреблялись следующие параметры:
Radius: 7.70
Gauss: 0.00
Motion size: 0.00
Motion angle: 0.00
Noise: 0.00
Iterations: 200
Boundary: mirror boundary
Текст стал читаемым, но глазам все равно неприятно продираться сквозь заслон из фоновых черных точек. Теперь немного изменим условия, использовав сглаживание и включив подавление шума:
Radius: 7.70
Gauss: 0.00
Motion size: 0.00
Motion angle: 0.00
Noise: 1000.00
Iterations: 200
Boundary: mirror boundary
Smoothness: 100.0
Area size: 3
Adaptive smoothing: yes
В результате страница будет выглядеть так, как показано на рис. 2c.
Конечно, и этот вариант не идеален, но текст уже легко смогут прочитать как человек, так и OCR-программы (Cuneiform для Linux с ним справляется).
Стоит отметить, что своей эффективностью Refocus-it во многом обязан применению принципа итеративной обработки, т. е. многократному повтору одинаковых действий. В приведенных выше данных было взято высокое значение итераций (200), из-за чего плагин работал чрезвычайно медленно. Для обработки фото столь значительных величин не требуется.
Устранение шума
Цифровой шум проявляется в виде случайным образом расположенных элементов, лишающих фотографию естественности. Создается ощущение, будто на изображение наложена маска из точек различной яркости и разного цвета. Это ухудшает восприятие однотонно окрашенных фрагментов изображения (например, голубого неба) и объемных объектов на заднем плане, находящихся не в фокусе. На величину шума более всего влияет значение светочувствительности (ISO), а также конструктивные особенности матриц цифровых фотокамер.
Тем не менее если на вашем снимке присутствует шум, имеется возможность улучшить фото в Linux.
GREYCstoration
Данное приложение может использоваться как отдельно (из командной строки), так и в виде плагина к GIMP. Оно работает на основе принципа избирательного размывания с сохранением очертаний и краев на снимке.
Для примера возьмем снимок, сделанный без вспышки при искусственном освещении с высокой светочувствительностью (ISO 1250). Как поступать в данном случае?
Среди множества параметров наиболее важными являются Noise Scale и Contour preservation. Первый отвечает за физический размер элементов шума и напрямую влияет на степень шумоподавления. Чем точнее вы подберете его значение, тем эффективнее будет работа GREYCstoration в целом. Параметр Contour preservation отвечает за сохранение контуров и, следовательно, влияет на детализацию обработанного снимка. Распознавание контуров производится исходя из контрастности точки относительно соседних, и потому следует помнить, что слишком низкие значения Contour preservation сохранят обводку у шумовых пятен (плагин примет шум за полезный объект), а слишком высокие — «замылят» изображение.
Если на снимке мало цветовых переходов и преобладают монотонные заливки, то стоит увеличить количество проходов плагина. И здесь поможет параметр Number of Iterations. Если же на снимке сильные шумы сочетаются с высокой детализацией и наличием очень мелких, но важных деталей, то имеет смысл поменять механизм вычисления соседних точек — Interpolation type. Стандартно в плагине установлено значение Nearest neighbour (ближайший соседний), но также допустимо выбрать Linear или Runge — Kutta. Последний вариант более предпочтителен, хотя он и замедляет работу GREYCstoration в несколько раз. В этом случае взаиморасположение точек вычисляется с помощью системы дифференциальных уравнений, решаемых по методу Рунге — Кутты. В результате плагин эффективно удаляет шум, сохраняя тонкие линии и прочие важные детали.
Оригинал снимка и результат работы GREYCstoration представлены на рис. 3a, b.
На фотографии хорошо видно, что зернистость и мелкий шум исчезли, но остались крупные пятна на белой стене, из-за чего она в левой части кажется желтой, а в правой — сиреневой. Этот дефект легко исправить вручную. Сделайте из фона отдельный слой, выделив его «Волшебной палочкой», а затем скопируйте и вставьте.
Теперь нужно подстроить цвета с помощью инструмента «Цвет•Тон• Насыщенность». В данном случае следует уменьшить насыщенность для желтых и пурпурных оттенков и немного повысить освещенность. Так как на данном слое нет мелких деталей, допустимо еще раз применить для него плагин GREYCstoration, увеличив Noise Scale и уменьшив Contour preservation. Теперь слои можно объединить.
С получившегося в результате снимка будут убраны не только шумы, но и зернистость (рис. 3c). Чтобы избавиться от хроматических шумов, не размывая совсем изображение, имеет смысл воспользоваться сочетанием разных плагинов.
Исправление искажений оптики
Известно, что даже автомобильное лобовое стекло слегка искажает изображение, а уж граненый стакан и вовсе дает повод повеселиться, настолько смешные выходят диспропорции. Не лишены такого недостатка и линзы в фотоаппаратах, особенно в тех из них, где оптика встроена в камеру и не может быть заменена. Лучше всего оптические искажения заметны в тех кадрах, где присутствуют строго вертикальные и горизонтальные линии, а также объекты прямоугольной формы. Многим знаком эффект «сходящихся вертикалей», почти всегда возникающий при съемке интерьеров (особенно снизу вверх). Сейчас мы будем бороться с другим распространенным оптическим дефектом — с так называемыми бочкообразными формами прямоугольных объектов. Возьмите свою «мыльницу» и сфотографируйте в портретном режиме рамку на стене. У вас получится кадр, похожий на представленный на рис. 4a.
Наверняка вы уже знаете, что с ним делать. Откройте снимок в GIMP и выберите инструмент «Перспектива». Потяните изображение за угловые точки и исправьте угол обзора. Теперь вы будете смотреть на рамку под прямым углом (рис. 5).
Однако проблема закругляющихся линий осталась, и потому сразу же на ум приходит мысль кадрировать снимок так, чтобы рамки не было вообще. Но что делать, если белую рамку по каким-либо причинам нужно сохранить? Тогда следует выбрать инструмент «Фильтры•Искажения •Исправить искажения оптики». Появится диалоговое окно, в котором легко компенсировать бочкообразные края (рис. 6).
В вашем распоряжении имеются шесть параметров, из которых все (кроме, пожалуй, «Яркости») отвечают за определенные пространственные манипуляции с плоскостью снимка. Названия параметров говорят сами за себя, а требующиеся для них значения несложно подобрать вручную. После нажатия ОК снимок с правильными вертикальными и горизонтальными линиями будет готов к итоговому кадрированию (см. рис. 4b).
Мы рассмотрели, как справиться с тремя распространенными дефектами, возникающими при любительской фотосъемке. Разумеется, есть еще много разных особенностей цифровой фотографии, которые успешно «лечатся» в GIMP. Если вы овладеете искусством применять и сочетать фильтры из богатейшей коллекции расширений этого редактора, то сумеете исправлять хроматические аберрации (голубые и фиолетовые ореолы вокруг краев объектов), растягивать маленькие изображения почти без потерь в качестве, повышать яркость снимков, сохраняя оттенки на светлых областях, и многое-многое другое.
Возможности GIMP в деле профессиональной обработки фотографий пусть и не безграничны, но очень велики. Кроме того, редактор постоянно совершенствуется, а значит, профессиональная фотомастерская, работающая в среде Linux, — уже реальность.
Полезные сайты
http://registry.gimp.org/ — реестр плагинов для GIMP;
http://refocus.sourceforge.net/ — домашняя страница Refocus;
http://www.cooptel.qc.ca/~rlemieu/refocus.html — Refocus для новых версий GIMP + инструкция;
http://refocus-it.sourceforge.net/ — домашняя страница Refocus-it;
http://cimg.sourceforge.net/greycstoration/guide.shtml — домашняя страница GREYCstoration.