Меня смущает, почему эта картинка нерезкая. Это портрет, снятый при F/29 ISO100 1/250 с объективом 17-85 мм, сфокусированным на 38 мм. Расстояние до объекта составляло 1,2 м. Мое приложение DOF сообщает мне, что мой DOF должен был быть ~ 82,98 см или примерно 1M.
Меня смущает, почему эта картинка не такая резкая, как должна быть. Для этого снимка экрана я увеличил его до 200%. Это такое сильное размытие при 200% нормальном?
РЕДАКТИРОВАТЬ: У некоторых людей есть вопросы о ГРИП в этом снимке, поэтому вот некоторая информация, которую можно почерпнуть из любого онлайн-калькулятора ГРИП. Моя оценка 82,8 см была получена из приложения, а 1,2 м — из информации EXIF. С помощью этого онлайн-инструмента глубина резкости при F28 будет следующей:
Subject distance 1.2 m
**Depth of field**
Near limit 0.84 m
Far limit 2.13 m
Total 1.29 m
In front of subject 0.36 m (28%)
Behind subject 0.93 m (72%)
Hyperfocal distance 2.7 m
Circle of confusion 0.019 mm
Это верно еще и потому, что именно на таком расстоянии я находился от камеры — 1,2 м. Так что для того, чтобы этот снимок был не в фокусе, мне нужно было находиться примерно в полуметре от камеры, чего я не помню. Возможно, наблюдаемое на этой фотографии размытие не связано с тем, что объект находится не в фокусе.
Как упоминалось в других ответах, дифракция привела к нерезкости. Чтобы проверить это, можно попытаться повысить резкость изображения с помощью деконволюции, используя функцию рассеяния точки, соответствующую F/29. Для дифракции имеем (с точностью до общей нормировки)
P(s) = {J 1 [ π rs /( λF ) ] / [ π rs /( λF ) ] } 2
где J 1 — функция Бесселя первого рода порядка 1 ,
s — расстояние в изображении, измеренное в пикселях,
r — размер одного пикселя (обычно около 4,2*10^(-6) метров для кроп-сенсоров),
λ — длина волны света, а
F — число F, в данном случае 29.
Тогда это верно для монохроматического света, чтобы аппроксимировать функцию рассеяния точки для цветовых каналов, которую мы можем усреднить по некоторому подходящему диапазону длин волн. Кроме того, следует интегрировать P(s) по площади пикселя, заданной параметром s.
Если мы таким образом скомпилируем функции трехточечного расширения для трех цветовых каналов, мы сможем повысить резкость изображения, преобразовав его в линейное цветовое пространство и применив алгоритм деконволюции, а затем преобразовав обратно в sRGB. Я получил следующий результат:
Таким образом, резкость лица была значительно увеличена с использованием только данных о F-числе и предположениях о размере пикселя. В темной части изображения видны артефакты полос, это связано с постеризацией после преобразования обратно в sRGB.
По просьбе, я добавлю некоторые подробности об используемых программах. Я использовал ImageJ и ImageMagick , я также использовал Mathematica для вычисления функции разброса точек, но это также можно сделать в ImageJ. Я начну с объяснения того, как я выполняю деконволюцию с помощью ImageJ, когда у меня уже есть функция разброса точек. Чтобы выполнить деконволюцию, вам нужно установить плагин для ImageJ, я использовал этот плагин для этого случая, но есть и другие доступные плагины, например, плагин DeconvolutionLab .
Во-первых, вам нужно преобразовать в линейное цветовое пространство, я использовал ImageMagick для преобразования нерезкого изображения (input.jpg) в линейное цветовое пространство с помощью команды:
convert input.jpg -colorspace RGB output.tif
Затем с помощью ImageJ вы открываете файл output.tif. Затем в параметрах меню вы выбираете «изображение», затем «цвет», а затем «каналы». Затем в меню выберите «плагины», а затем «параллельную итеративную деконволюцию», а затем 2d интерактивную деконволюцию».
Затем вы получаете окно деконволюции, затем выбираете изображение, а «PSF» означает функцию точечного разброса, там вы выбираете файл изображения, который содержит функцию разброса точек. В качестве метода я выбрал «WPL», основанный на фильтре Винера, который обычно достаточно хорошо работает для изображений с низким уровнем шума. В параметрах WPL отметьте «normalize PSF», а для фильтра нижних частот измените значение на 0,2, по умолчанию оно равно 1, но более низкое значение лучше подходит для изображений с низким уровнем шума (если вы выберете большее значение, изображение будет менее резким). Другие параметры, граница может быть выбрана как рефлексивная, изменение размера может быть установлено на «следующую степень 2», выход может быть установлен на 32 бита, точность может быть установлена на двойную. Я выбрал число максимального количества итераций равным 15,
Затем вы запускаете программу, нажав «развернуть». Затем вы получаете 32-битный файл изображения в качестве вывода. Обычно значения пикселей очень похожи на исходное изображение, но у вас могут быть некоторые пиксели, которые превышают максимальное значение для исходного формата изображения. Итак, в этом случае мы начали с 8-битных изображений, но в деконволюционном изображении у вас могут быть значения серого, превышающие 255, что затем приводит к тому, что все изображение становится слишком темным. Это нужно исправить, обрезав эти пиксели до 255, что вы можете сделать, выбрав в меню «процесс», а затем «Математика», а затем «Макс». Затем максимальное значение будет использоваться для обрезки значений серого, которые превышают это значение. Обратите внимание, что это будет сделано с изображением, на которое вы нажимали в последний раз. Вы также можете увидеть, какой файл является «текущим файлом», выбрав «
Затем, после того, как вы разделили 3 цветовых компонента, вы можете объединить их, выбрав в меню «изображение», затем «цвет», а затем «Объединить каналы». Затем вы получаете составное изображение, которое можно преобразовать в 8-битный RGB с помощью команды «Stack to RGB», которую вы найдете там.
Затем вы сохраняете это изображение, назовем его im.tif. Наконец, вы должны преобразовать это в sRGB, вы можете сделать это с помощью ImageMagick, используя команду:
convert im.tif -set colorspace RGB -colorspace sRGB output.tif
Остается вопрос, как получить функцию рассеяния точки. На практике, если бы вы сделали снимок, подобный обсуждаемому здесь, вы могли бы просто сфотографировать точечный источник, например, звезду с F/29, и использовать его в качестве функции рассеяния точки. В качестве альтернативы вы можете посмотреть на высококонтрастные границы и извлечь функцию разброса точек по тому, как значения серого изменяются от одного значения к другому на границе. Но тогда вы пытаетесь сделать изображение максимально резким.
В данном случае цель состояла в том, чтобы скомпилировать функции разброса точек для цветового канала на основе того, что вы ожидаете от него для F/29, выполнить деконволюцию изображения и посмотреть, выглядит ли результат достаточно хорошим. Я использовал Mathematica для выполнения некоторых расчетов, и эта продвинутая программа компьютерной алгебры довольно легко выполняет всевозможные манипуляции, включая усреднение по интервалу длины волны и интегрирование по областям пикселей, чтобы сделать PSF более реалистичным.
Но ImageJ также позволяет вам создать новое изображение, которое вы можете использовать в качестве функции разброса точек. Если вы нажмете «Файл», а затем «Создать», вы можете создать 32-битное изображение размером, скажем, 64 на 64, заполненное черным цветом. Затем вы можете запрограммировать формулу для значений серого, выбрав «процесс», затем «Математика», а затем «Макрос». Чтобы получить функцию распределения точек для этого случая, который включает здесь функцию Бесселя, вы можете использовать тот факт, что она хорошо описывается первыми несколькими членами разложения ряда. Страница MathWorld, на которую я ссылаюсь, дает вам расширения этого ряда, поэтому J 1 (x) 2 /x 2 с x = π rs /( λF ) можно заменить функцией формы A + B s 2 + C s 4. Это приближение станет недействительным, если s слишком велико. Теперь мы знаем, что PSF стремится к нулю, например, на расстоянии около 5 или 6 пикселей его можно установить равным нулю. Предполагая, что полином все еще мал при этих значениях, вы можете написать макрос как:
if(d<7) v = A + B * pow(d,2) + B * pow(d,4)
Затем вы создаете 3 изображения, скажем, для лямбда = 650 нм, 500 нм и 400 нм или любых других значений, которые, по вашему мнению, подходят для представления дифракции в 3 цветовых каналах. Затем вы можете выполнить усреднение по нескольким различным длинам волн, создав изображения для разных лямбда, а затем выбрав «процесс», затем «калькулятор изображений», и там вы выбираете «добавить». Затем вы можете добавить еще одно изображение к этому результату, и когда вы закончите добавление, вы можете разделить, чтобы получить среднее значение, выбрав «процесс», затем «математика», а затем «разделить».
Вы преодолели дифракционный предел . Световые лучи, проходящие через маленькое отверстие, расходятся и интерферируют друг с другом, и возникает узор — своего рода полосатость, где разные частоты/местоположение могут привести к тому, что отдельные лучи складываются или отрицают друг друга. Чем меньше становится открытие, тем больше становится это расхождение/интерференция. Этот паттерн называется диском Эйри. Когда диаметр пика диска Эйри становится больше, чем размер пикселя, и диски Эйри для каждого пикселя начинают сливаться, вы получаете мягкость — поэтому, чем больше количество пикселей вашего сенсора и чем меньше ваш сенсор, тем быстрее вы увидишь, как ты остановишься.
Вы, как правило, острее в «золотой середине». Где может быть «золотая середина» вашего оборудования, зависит от плотности/размера пикселей и дизайна объектива. С датчиками размера APS-C, которые, как я понимаю, вы используете по эталонному объективу 17-85, вы, вероятно, не захотите переходить на f/11 без действительно веской причины и готовности отказаться от некоторой резкости. Теоретические пределы дифракции, вероятно, будут находиться в диапазоне f/5,6–f/8. Вы также захотите узнать, где находится «золотое пятно» вашего объектива — многие объективы работают лучше при закрытой диафрагме на 1-2 ступени от широко открытой диафрагмы. Например, «лучший диапазон» объектива EF 50mm f/1.8 II находится в диапазоне f/4–5.6.
Я бы также сказал, что судить о резкости при 200-процентном увеличении — это просто просить, чтобы все ваши объективы выглядели как собачье мясо. Это не реалистичное увеличение с точки зрения расстояний просмотра, которое вы получили бы от типичного отпечатка, и это редкий объектив, который выдержит такое испытание, даже если он используется в его сладкой точке. Хватит подглядывать за пикселями. Начните смотреть на печать.
См. также: http://www.cambridgeincolour.com/tutorials/diffraction-photography.htm
Из-за дифракции. f/29 — это слишком много, чтобы ожидать резкого изображения. Попробуйте снять то же самое на f/8, и вы увидите разницу.
нулевой
Филип Кендалл
матдм
Поврежденный MyStack
осуллик
матдм
пользователь13451
матдм
Скаперен
Велкахолизм
корсика
Поврежденный MyStack