Как я могу «размыть» эти фотографии северного сияния?

Полный NOOB для фотографии здесь. В эти выходные я был в Тромсё, Норвегия, и мне посчастливилось сделать несколько снимков огней. Теперь, когда я говорю, что я нуб, я на самом деле имею в виду, что я очень, ОЧЕНЬ мало знаю о фотографии и в основном использую свой Canon 70D для съемки видео с близкого расстояния. Я установил диафрагму на самое низкое значение (3,5 с комплектным объективом) и выдержку на 10 секунд, ISO на 1250. Я запечатлел несколько драматических источников света, но, к сожалению, эти два кадра просто не в фокусе. Есть ли способ их резкости без лишнего искажения/шума? У меня нет фотошопа или любого другого инструмента для редактирования фотографий. Что я в основном хочу сделать, так это просто сделать так, чтобы звезды казались четче/четче введите описание изображения здесь.

Я думаю, что это подмножество другого вопроса — существование точечных источников (звезд) отличает его от общего случая.

Ответы (3)

Это простая задача с использованием деконволюции, так как звезды на изображении должны быть четкими точками, но они размыты. Это означает, что звезды на изображении можно использовать в качестве функции разброса точек, с которой вам нужно выполнить деконволюцию. Сделать это можно с помощью бесплатной программы ImageJ и плагина parallel iterative deconvolution или DeconvolutionLab . Изображение необходимо сначала преобразовать в линейное цветовое пространство и разделить на цветовые каналы. Затем вы выполняете деконволюцию для цветовых каналов отдельно, а затем перекомпоновываете цветное изображение. А затем вы конвертируете деконволюционированное изображение обратно в цветовое пространство sRGB.

Я обновлю этот ответ позже с результатом, используя ваш jpeg, вы можете попробовать сделать это самостоятельно, используя файл tiff, скомпилированный из исходного необработанного файла.

Обновлять:

Я попытался повысить резкость изображения с помощью деконволюции, но для получения действительно хороших результатов требуется гораздо больше работы, а также нужно использовать необработанный файл, потому что файл jpeg ухудшил информацию о высокочастотных компонентах. В данном конкретном случае возникают три основные проблемы. Во-первых, это эффекты постеризации (видимые дискретные скачки яркости), которые также связаны с работой с 8-битным jpeg вместо 16-битного tiff-файла (который на самом деле только что получен из обычно 14-битных необработанных файлов).

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

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

Первую проблему можно решить, преобразовав изображение из sRGB в 32, но линейный RGB (поэтому мы следим за тем, чтобы не преобразовывать в 8-битный линейный RGB), а затем при обратном преобразовании это лучше сделать с помощью пользовательской гамма-коррекции вместо стандартное преобразование.

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

Шаги с использованием ImageJ в деталях:

Загрузите изображение

Изменить тип изображения на стек RGB

преобразовать его из текущих 8 бит в 32 бит.

Затем преобразуйте sRGB в (линейный) RGB, сначала разделив на 255, запустив математический макрос:

если(v<0,040445) v = v/12,92; если(v>0,04044) v = pow((v+0,055)/1,055,2,4)

и умножить на 255.

Увеличьте изображение и выберите яркую звезду где-то в середине изображения, продублируйте изображение (которое в ImageJ создаст новое изображение только с выделением). Затем измерьте фон в цветовых каналах, выбрав часть фона и используя функцию «измерение». Если фон достаточно однороден, вы можете вычесть это значение из значений серого в каком-либо цветовом канале, и вы получите достаточно точную функцию распределения точек. Чтобы сделать это действительно точно, вы должны повторить это для нескольких звезд рядом, выровнять изображения и взять среднее значение.

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

Я только что скомпилировал свою функцию распределения точек на основе изображения только одной звезды, так что здесь есть много возможностей для улучшения. Затем следующим шагом будет разделение 32-битного изображения RGB на его цветовые компоненты, выбрав «изображения для стека», а затем вы запустите «параллельную итеративную деконволюцию». Я выбрал метод MRSND, поскольку он дает наилучшие результаты для тусклых изображений (ведущие чтобы меньше артефактов, которые в сочетании с постеризацией могут выглядеть очень некрасиво), для предобуславливателя выберите «нет», границу можно взять равной нулю, так как границы довольно темные, это не приведет к артефактам (в противном случае выбор рефлексивного обычно будет лучше ). Мы хотим сделать расчеты как можно точнее, поэтому для изменения размера лучше выбрать «следующая степень двойки», вывод «плавающая». но в этом случае это то же самое, что выбрать «такой же, как источник». Точность должна быть установлена ​​на двойную. Для MRSND максимальное количество итераций должно быть довольно большим, я взял его равным 50. Максимальное количество потоков зависит от вашего компьютера, обычно оно установлено на правильное значение для вашего компьютера.

Затем вы нажимаете «развернуть», что может пойти не так из-за ошибки нехватки памяти. В этом случае вы можете уменьшить точность с двойной до одинарной, или вы можете разрезать изображение на части, развернуть части по отдельности и в конце сшить все вместе. Для этого образа достаточно 8 ГБ ОЗУ, но для изображений немного большего размера вы можете столкнуться с этой проблемой только с 8 ГБ ОЗУ.

Затем я обработал результат следующим образом. Я сделал отображение тонов; значения яркости ниже 212 делились пополам, а большие отображались в диапазоне от 106 до 255 с помощью функции 71,03109*log(v) - 274,48416 с помощью математического макроса. Вы можете поэкспериментировать с различными функциями, выбранная здесь логарифмическая функция, вероятно, не лучший выбор. Что вам нужно сделать, так это измерить самое яркое значение серого, используя функцию «измерения», а затем вычислить непрерывную функцию, которая будет отображать диапазон яркости звезд на некотором прилично большом интервале.

Затем вы можете объединить 3 изображения в одно цветное изображение. Затем вместо стандартного преобразования обратно в sRGB можно поэкспериментировать с гамма-коррекцией. В этом случае деление значений серого на 255, применение гаммы 0,4 и умножение на 255 приводит к прилично осветленному изображению, которое выглядит намного лучше, чем стандартное преобразование в sRGB (нет видимых серьезных артефактов).

Последним шагом является преобразование 32-битного цветного изображения в 8-битное.

Изображение с резкостью с использованием деконволюции

Спасибо, граф Иблис. Проблема в том, что я такой нуб, что не уверен, что смогу начать с половины того, что вы сказали :) Как мне скомпилировать tiff из сырого фолла? Все, что я знаю, это то, что я вставляю свою SD-карту и импортирую свои фотографии в iPhone. Я полагаю, что мог бы сохранить его как TIFF в GIMP, но не уверен, что это правильный путь. Я поэкспериментирую с программами, которые вы упомянули, так что спасибо, что поделились ими! Хотелось бы увидеть ваш результат, я уверен, что он намного превзойдет мой.
Глядя на изображение, я не думаю, что это вопрос деконволюции объектива, а скорее то, что звезды (или, скорее, Земля) двигались на протяжении всей фотографии. «Размытие» звезд может быть действительно коротким звездным следом.

У меня нет фотошопа или любого другого инструмента для редактирования фотографий.

Вам понадобится какой -нибудь инструмент для редактирования фотографий, но есть ряд бесплатных инструментов, которые вы можете использовать. Если вы пользователь Mac, приложение «Фотографии», входящее в состав MacOS X, повысит резкость фотографии. Gimp доступен на любой из трех основных настольных платформ, а также может легко повышать резкость. Наконец, программное обеспечение Canon Digital Photo Professional, поставляемое с вашей камерой, также легко повышает резкость фотографий.

Вы можете использовать программу DPP (поставляется с камерами Canon) для редактирования этого изображения. Надеюсь, вы снимали в RAW, а не в JPEG.

Как можно использовать DPP на этом изображении? Пожалуйста , отредактируйте ответ, чтобы включить некоторые предлагаемые шаги.