"Соблюдайте тишину!" или руководство "как бороться с шумом на снимках".
Предисловие
Часто бывает, что необходимо сделать приемлемое фото, а хорошей камеры под рукой нет. Есть лишь смартфон, качество снимков которого оставляет желать лучшего. Главная проблема зачастую сводится к большому количеству цифрового шума на снимках. Эти "мухи" могут испортить любой снимок. Но с ними можно бороться. Особенно, если речь идет о съемке статичных сюжетов.
Представьте, что вам нужно получить хорошего качества фото какого-либо предмета. Скажем, вы хотите продать свою старую камеру. Но вот беда - снять-то её нечем! Есть только телефон, но его фото настолько шумные, что распугают всех покупателей (ведь камеру будут выбирать только истинные ценители фотографии, ага!). Выход есть - приступаем!
Суть
Давайте посмотрим на качество изображения, полученного моим смартфоном (Asus Zenfone Max ZC550KL). Фото сделано при свете монитора, ночью.
Данный девайс был выбран из-за наличия множества надписей, по которым можно оценить изменения в дальнейшем.
Как мы видим, шума довольно много. Особенно в тенях. Зарядка немного запыленная, но я ленивый так даже лучше - больше мелких деталей.
Для борьбы с этой гадостью вам понадобится:
- Смартфон
- Приложение для серийной съемки (если стандартное приложение для камеры не поддерживает такую функцию)
- Штативчик для телефона (желательно)
- Photoshop или другой продвинутый графический редактор
Закрепляем смартфон и делаем серию снимков, стараясь не сместить кадрирование.
Количество снимков в серии будет влиять на финальный результат. Чем больше сдадим, тем лучше. Особо усердствовать не стоит, т.к. процесс обработки будет требовать много ресурсов, если взять добрую сотню изображений. У меня Фотошоп скушал 10 из 16 Гб оперативной памяти, когда обрабатывались 100 файлов.
Обработка
Я приведу пример для Фотошопа. Но основная идея одинакова для всех редакторов.
Первое, что нужно сделать, используя ФШ - загрузить все изображения в виде слоёв. Идём в "Файл - Сценарии - Загрузить файлы в стек...". Выбираем нужные файлы и отмечаем "Создать смарт-объект" и "Выровнять исходные изображения". Галочки можно не ставить и сделать эти операции позже, но если нет необходимости проделывать иные манипуляции - ставьте сразу. Выравнивание можно не делать, если съемка производилась автоматом по self-таймеру. В моем дефолтном приложении камеры, функция серийной съемки сводится к удерживанию пальца на кнопке "спуска". Поэтому, кадры немного смещались. Процесс выравнивания занимает основное время и ресурсы.
Когда смарт-объект готов, можно переходить к следующему шагу - "Слои - Смарт-объект - Режим стека - Медиана". Вместо "медианы" можно использовать "усреднение". Оно быстрее и особой разницы не видно. Экспериментируйте.
После завершения стекинга, мы получим готовое изображение. Далее следуют примеры.
10 кадров:
20 кадров:
50 кадров:
100 кадров:
Сравнение участков.
Расположение по количеству сложенных кадров:
1 10
50 100
Самые мелкие детали. Распределение такое же.
Невооруженным глазом видно, что после стекинга, соотношение сигнал/шум (SNR) уменьшается на квадратный корень из (N), где N - количество сложенных кадров. Таким образом, изображения улучшили этот показатель в 3; 7 и 10 раз соответственно.
Сколько изображений для сложения использовать - решайте сами. Мне кажется, что 20-25 кадров вполне достаточно при аналогичном исходнике. Даже если у вас имеется всего 2 кадра - стэкинг уменьшит шум в 1.5 раза (sqrt(2) = 1,41).
Как это работает
Цифровой шум - это помехи, возникающие по различным причинам. Ложные сигналы. При нагреве матрицы, отдельные её пиксели могут принимать возросшую температуру за полезный сигнал (фотоны света) и "зажигать" пиксель итогового изображения каким-либо цветом, не соответствующим тому, что "видит" объектив. Этот процесс имеет некую случайную составляющую. Один и тот же пиксель не всегда будет получать ложный сигнал. Чаще он всё же "запоминает" полезные данные.
Таким образом, если собрать большое количество изображений одного и того же сюжета, то при помощи математических функций можно выяснить реальную окраску каждого конкретного пикселя. Банально взяв среднее или медианное значение по всем кадрам.
Например, у нас есть 10 кадров. Некий пиксель имеет значение, соответствующее красному цвету на трех из десяти кадров. На семи фото он зеленый. Можно предположить, что большинство кадров всё же верно отображают цвет этого пикселя. Таким образом, среднее или медианное значение будет гораздо ближе к правде, чем к ложному сигналу.
Конечно же, такой метод можно применять к фотографиям не только со смартфона, но и с хороших цифровых камер. Ведь они тоже выдают неидеальные снимки, на которых присутствует цифровой шум. А сфера применения метода не ограничивается предметной съемкой.
Подробнее о том, откуда берется цифровой шум, и что на него влияет, я расскажу в следующем посте.
А под андроид такая софтина есть? Чтобы сразу с телефона все сделать?
Мне сильно не хватает на телефоне стекинга и PTGUI (панораматулз с гуем)
Я с недавних пор обожаю стекинг, использую его для наращивания кадра. Но мне что-то жалко делиться такими советами =)