Стекинг изображений: Как получить хорошее фото в плохом освещении
Оффтоп
Начну пожалуй со сторонней темы, без которой некоторая часть основной темы может быть непонятна.
реклама
Не так давно я переезжал взяв с собой компактный ПК, но мне нужно было ехать дальше, и я застрял с температурой подхватив вирусное...
ПК конечно же уже был собран для дальнейших переездов, а раскладывать его смысла не было, и пока было время я подумал, а не написать ли статью про стекинг изображений, ведь сам уже давно использую данный метод при обработке фотографий некоторых.
реклама
И вот я уже прибыл в другое место как появилась возможность, да, в этой небольшой сумке поместился мой компактный ПК (Ryzen 7 2700X, 64GB RAM, MSI GeForce GTX 1070 AERO OC, Chieftec BDF-1000C со всем набором проводов, 4 SATA SSD/HDD + 1 NVMe SSD), кроме самого ПК туда влезла мышь, полноценная клавиатура (я не люблю огрызки без NumPad), все необходимые кабели подключения и даже больше необходимого, графический планшет, фотокамера, блокнот и куча мелочи.
Сначала я осмотрел новое место, проверил, могу ли подключить ПК в доступную розетку, и я бы смог, если бы повернул ПК передней панелью к розетке и подключил кабель прямо в блок питания, но монитор я все равно не смог бы подключить, в любом случае нужен удлинитель, корпус словно насмехался надомной в этот момент...
Ладно, нужно все разложить, и мой ПК настолько тонкий что без проблем спрятался за монитором, а ведь монитор впритык к стене установлен.
![]() |
![]() |
![]() |
реклама
На следующий день следовало сходить за удлинителем, но я еще не полностью поправился чтобы далеко ходить по городам, потому обнаружив второй такой же маленький столик было решено его поставить к первому впритык.
Теперь все не так компактно разложилось на столе, но оно работает, и я могу продолжать писать интересные статьи.
Единственный недостаток это хлипкие столы, у меня дома стол значит стол, хоть садись и ему ничего не будет, а эти столы какие-то хлипкие, что можно надавив рукой прогнуть, а при наборе текста такой столик болтается из стороны в сторону немного.
![]() |
![]() |
В любом случае ПК собран и работает:
реклама
А теперь немного ужасов для электриков, 179в в розетке, стиральная машина уже давно встала раком (когда ниже ~200в она останавливает стирку), а моему ПК более чем нормально, самое то, чтобы зайти в игру и играть пока вокруг происходит... Хм... Происходят странные вещи :)
У меня дома может и обои старые, и полы из досок, но с электросетью проблем не бывало, особенно если учесть с какой частотой на новом месте бывают отключения электричества, боюсь представить если бы в качестве основной операционной системы у меня стоял один из дистрибутивов Linux, я бы замучился его переустанавливать при каждом сбое питания...
![]() |
![]() |
![]() |
Ноутбук с рабочим аккумулятором в таких условиях будет гораздо привлекательнее, но не для меня, ибо мне нужно много USB портов, это я еще не подключил микроконтроллеры и графический планшет...
![]() |
![]() |
А еще мне нужны косы питания от блока питания в ПК, я же не зря ставил полноценный ATX блок питания в компактный самодельный корпус.
Сначала я думал что внешние блоки питания решат все мои потребности с получением +5в и +12в, но как показывает практика, лучше достать MOLEX из корпуса через специально отведенное окошко, и использовать блок питания ПК для питания внешних устройств при необходимости, с ноутбуком такое явно не прокатит...
Хотя раз уж взялся, то достану хвостик, все равно он мне нужен будет даже ESR тестер подключить, не говоря уже про множество других приборов через переходники...
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Пожалуй на этом хватит, пора бы начинать основную тему статьи...
-
--
---
Стекинг
В чем суть стекинга? Всё очень просто, берем десяток фотографий, объединяем в одну, и на этом собственно всё, изображение готово.
Думаю не нужно объяснять что фотографии должны быть сделаны со штатива, или на худой конец с минимальным уровнем отклонений если фотографировать руками...
Сама камера должна уметь фотографировать в пакетном режиме, ибо каждое нажатие на спуск немного смещает камеру в пространстве, а это плохо, потому лучше чтобы камера сама умела фотографировать 5-10 снимков подряд, к сожалению в этой статье не будет снимков от камеры Fujifilm F500EXR, она просто не умеет в серийную съемку адекватно, а жать спуск ради каждого снимка или держать его ради кривого режима серийной съемки в котором больше 3 снимков не получить, и при этом не сдвинуть камеру, ну не знаю, сомнительное занятие.
И да, оптическую стабилизацию следует отключить если нужно сфотографировать полноценным фотоаппаратом, хотя любой опытный фотограф по идее должен такие нюансы знать.
В основном я буду использовать Xiaomi MI8, хотя и тут есть нюанс, с одной прошивкой я мог свободно использовать Open Camera, чтобы снимать ночью при выдержке 4-30 секунд, но однажды я прошил более новую версию операционной системы, и Open Camera на новой прошивке уже не может снимать при большой выдержке... Что-то, как обычно, поломали криворукие разработчики в линуксах (Android), а потом еще говорят что обновления это хорошо и круто, обязательно обновляйтесь и почаще...
Нужно будет прошить старую версию операционной системы в смартфон при возможности...
Потому ночные снимки будут сделаны преимущественно стандартной камерой, а стандартная камера не позволяет отключать обработку шума, что конечно же делает только хуже при стекинге изображений.
![]() |
![]() |
Снимки сделанные через Open Camera уже без обработки, разве что резкость чуть увеличена, именно снимки без лишних обработок лучше всего подходят для совмещения так как позволяют добиться максимальной детализации.
Хотя в случае камер с фейковыми мегапикселями, например Fujifilm F500EXR и любая другая "мыльница", выжать детализацию из "мыла" не получится, тут уже следует найти реальное разрешение сенсора, и делать снимки при настоящем разрешении сенсора, для F500EXR настоящее разрешение сенсора 4 МП, для Lenovo P70-A примерно ~3 МП, а вот у Xiaomi MI8 реальное разрешение сенсора явно соответствует заявленным 12 МП, в общем этот нюанс тоже следует учитывать если цель это получить качественные снимки.
Еще следует заметить, многие снимки сделаны от руки, Open Camera умеет делать множество снимков (десятки за секунду) если зажать кнопку снимка, в таком случае хоть камера и быстро снимает серию фотографий, но смещения избежать не выйдет, что только ухудшает детализацию, это будет наглядно видно на примерах.
![]() |
![]() |
![]() |
Вроде все основные нюансы рассказал, снимаю десяток фотографий без обработок по возможности, переношу снимки на ПК, совмещаю воедино и получаю результат.
StarStaX 0.71
Для начала расскажу о программе StarStaX, обычно я совмещаю изображения в графическом редакторе Krita, ибо я часто фотографирую с руки, и мне нужно корректировать положение снимков, а StarStaX этого не делает, но если снимки сделаны со штатива без смещений, то данная программа отлично подойдет в пару кликов получить результат без графических редакторов и навыков.
Я не буду пояснять как работать с программой, там нечего пояснять, закидываем фотографии и экспериментируем с настройками, вот за простоту интерфейса моё уважение разработчикам данного приложения, именно такими должны быть приложения.
Но как я уже говорил ранее, оно мне не подходит, вот наглядный пример:
Так как я снимал от руки серию снимков, естественно камера немного смещалась в пространстве, и это смещение нужно корректировать, и я это делаю вручную, возможно есть утилиты умеющие такое делать автоматически, но эта не такая уж и частая задача, чтобы скидывать на автоматику, тем более бывают случаи когда смещение сильное, и невозможно просто так совместить изображение, вручную можно конкретную небольшую зону на снимке улучшить в таком случае, а что сделает автоматика? Думаю ничего полезного...
Так или иначе, если установить камеру на штатив, и она автоматически сделает снимки без смещения в пространстве (надежный, прочный и устойчивый штатив), то StarStaX более чем удобен и практичен будет для улучшения снимков.
Krita
Почему именно Krita? Можно конечно и в проприетарной поделке от Adobe сделать это все дело с массой зондов собирающих информацию о пользователе попутно принуждающих к покупке "лицензий", но зачем, когда есть адекватный свободный графический редактор с адекватной лицензией в лице Krita.
Начну с тяжелого примера, выглядит ужасно, не правда ли? Даже пережатое для статьи в разрешение 1600x1200 (оригинал 4000x3000).
Это изображение не выйдет адекватно улучшить с помощью StarStaX, оно будет размазанным так как я снимал от руки, потому запускаю Krita и приступаю к обработке, конечно же для начала нужно закинуть все фотографии как слои.
![]() |
![]() |
Смотрим на разницу между первым и последним фото, очевидно что есть смещение если переключать видимость слоя с последним фото, но в статье так не выйдет переключать, потому лучше проверить лично этот момент.
![]() |
![]() |
В общем совмещаю изображения чтобы совпадали контуры, чисто зрительно определяю контуры и стрелками на клавиатуре по пикселям смещаю каждый верхний слой относительно нижнего чтобы все совпало, естественно нужно выбрать инструмент перемещения, чтобы перемещать изображение слоя.
Чем точнее будут совмещены изображения, тем меньше размытия будет в конечном изображении.
В самом конце, когда слои между собой отцентрированы, я просто делаю каждый слой полупрозрачным, чем больше слоев тем прозрачнее каждый из них нужно делать, в моем случае оптимальная прозрачность ~20%.
![]() |
![]() |
![]() |
А теперь посмотрим на одиночное изображение, и совмещенное, пожалуй разницу только слепой не увидит...
![]() |
![]() |
В этом вся суть стекинга изображений, набрасываем кучу фотографий, совмещаем, и получаем одно детализированное фото с уменьшенным количеством шума.
Как я уже говорил ранее, если разрешение сенсора у камеры ниже заявленного на упаковке, например F500EXR у которой сенсор установлен на 4 МП когда заявлено 16 МП, то сколько не совмещай, общий уровень детализации не станет выше никак при сохранении в максимальном "разрешении", "мыло" оно и в Африке "мыло", не просто так ведь появилось слово "мыльница" относительно фотокамер...
Верхний пример отлично демонстрирует это дело, изображение стало лучше, проявились детали некоторые, но фактическое разрешение как было "мыло", так и осталось "мыло", так будут и снимки от фотокамер (мыльниц), когда производитель врет указывая большое количество мегапикселей, но реально устанавливая скромный дешевый сенсор с разрешением ниже заявленного.
-
--
---
Галерея
Так как основной принцип действий я показал, не вижу смысла это делать для каждого изображения, потому просто выложу некоторые фотографии для примера.
Конечно, в статье изображения будут пережаты до разрешения 1600x1200, но даже так, разница видна более чем хорошо, в примере ранее я уже снимал это место, разница лишь в настройке экспозиции.
![]() |
![]() |
Конечно, можно еще добавить ИИ обработку, подтянуть контрастность, но это уже немного другая тема, хотя результат выходит еще лучше в итоге, хотя и не настолько значительно как при совмещении множества изображений с высоким уровнем шума воедино.
Часы, на их примере я рассказывал про StarStaX ранее.
![]() |
![]() |
Логотип телевизора конечно не вышел идеально, возможно некоторые фото я не смог идеально отцентрировать, но возможно просто недостаточно количества фотографий.
![]() |
![]() |
Пожалуй на этом закончу обрабатывать фотографии с цифровым зумом.
![]() |
![]() |
Далее стандартная камера, выдержка 4 секунды, здесь уже нет шума, но есть очень много размазни благодаря алгоритмам подавления шума которые отключить нельзя, а Open Camera как я уже говорил, не снимает с большой выдержкой, нужно устанавливать старую версию прошивки в смартфоне Xiaomi MI8 чтобы все нормально работало, если честно я даже не понял что улучшилось в новой версии прошивки...
![]() |
![]() |
Здесь уже выдержка 8 секунд, так как стандартная камера не имеет функционала серийной съемки в ручном режиме, то и снимков было немного для совмещения, всего 4 штуки, но даже такое количество снимков позволяет заметно улучшить общее качество фотографии.
![]() |
![]() |
Тут уже снимал от руки, Open Camera, всего 8 снимков.
![]() |
![]() |
Теперь тройное сравнение.
![]() |
![]() |
![]() |
Иногда можно получить интересные результаты объединяя серию фотографий, но опять же, без штатива будет сложно совместить снимки без излишнего размытия.
![]() |
![]() |
На этом пожалуй закончу, описанный в статье метод далеко не новшество, но порой я не видел чтобы его применяли в случаях, когда он действительно мог бы улучшить фотографию.
А если немного подумать, то можно не только ведь фотографии объединять, но и результаты обработки одной фотографии разными методами, я уже затрагивал тему ИИ и дополнительной обработки, так что возможностей у метода гораздо больше чем показано здесь.
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила