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

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

Операционная система 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).

Рис. 1. Окно плагина Refocus и результаты его работы: a) оригинал;     Рис. 1. Окно плагина Refocus и результаты его работы: b) после обработки плагином

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

Refocus-it

Данный плагин также предназначен для борьбы с нерезкостью, однако он предоставляет более тонкие параметры настройки. Refocus-it способен эффективно восстановить фокус в фотоснимках, сделанных с расфокусировкой, а также исправить такие дефекты, как размытие в движении (Motion blur) и гауссово размытие.

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

Практическая польза Refocus-it особенно заметна в ситуациях, когда из-за смазанности не удается прочитать или распознать нечто значимое. Возьмем, к примеру, фрагмент фотографии страницы журнала (рис. 2a).

Очевидно, что прочитать такой текст почти невозможно — с трудом различимы только отдельные очертания, а фильтр «Нерезкая маска» лишь подчеркнет имеющиеся искажения.

Рис. 2. Окно плагина Refocus-it и результаты его работы:  a) фрагмент страницы;   Рис. 2. Окно плагина Refocus-it и результаты его работы: b) первая обработка;

Работа плагина 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

Рис. 2. Окно плагина Refocus-it и результаты его работы:  c) вторая обработкаВ результате страница будет выглядеть так, как показано на рис. 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). Чтобы избавиться от хроматических шумов, не размывая совсем изображение, имеет смысл воспользоваться сочетанием разных плагинов.

Исправление искажений оптики

Рис. 4. (a) Изображение с оптическим искажением и (b) изображение после применения инструментария «Перспектива» и  фильтра «Исправить искажения оптики»Известно, что даже автомобильное лобовое стекло слегка искажает изображение, а уж граненый стакан и вовсе дает повод повеселиться, настолько смешные выходят диспропорции. Не лишены такого недостатка и линзы в фотоаппаратах, особенно в тех из них, где оптика встроена в камеру и не может быть заменена. Лучше всего оптические искажения заметны в тех кадрах, где присутствуют строго вертикальные и горизонтальные линии, а также объекты прямоугольной формы. Многим знаком эффект «сходящихся вертикалей», почти всегда возникающий при съемке интерьеров (особенно снизу вверх). Сейчас мы будем бороться с другим распространенным оптическим дефектом — с так называемыми бочкообразными формами прямоугольных объектов. Возьмите свою «мыльницу» и сфотографируйте в портретном режиме рамку на стене. У вас получится кадр, похожий на представленный на рис. 4a.

Наверняка вы уже знаете, что с ним делать. Откройте снимок в GIMP и выберите инструмент «Перспектива». Потяните изображение за угловые точки и исправьте угол обзора. Теперь вы будете смотреть на рамку под прямым углом (рис. 5).

Однако проблема закругляющихся линий осталась, и потому сразу же на ум приходит мысль кадрировать снимок так, чтобы рамки не было вообще. Но что делать, если белую рамку по каким-либо причинам нужно сохранить? Тогда следует выбрать инструмент «Фильтры•Искажения •Исправить искажения оптики». Появится диалоговое окно, в котором легко компенсировать бочкообразные края (рис. 6).

Рис. 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.


Рис. 3. Окно плагина GREYCstoration и результаты его работы: a) оригинал; b) после обработки плагином; c) итоговое изображение

Рис. 5. Исправляем перспективу