Почему этот портрет не сделан с резким f / 29?


25

Я не понимаю, почему эта картина не очень четкая. Это портретная съемка с F / 29 ISO100 1/250 с 17-85 мм объективом, сфокусированным на 38 мм. Расстояние до объекта составляло 1,2 метра. Мое приложение DOF говорит мне, что мой DOF должен был быть ~ 82,98 см или около 1M.

Я не понимаю, почему эта картина не такая четкая, как должна быть. Для этого скриншота я увеличил его до 200%. Это много размытия на 200% нормально?

РЕДАКТИРОВАТЬ: У некоторых людей есть вопросы о DOF на этом снимке, поэтому вот некоторая информация, которую можно получить из любого онлайн-калькулятора DOF. Моя оценка 82.8 см была из приложения, а 1.2M была из информации EXIF, при использовании этого онлайн-инструмента DOF на 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.2M. Так что для того, чтобы этот снимок был не в фокусе, мне нужно было бы находиться примерно в полуметре от камеры, что я не помню. Возможно, размытие, наблюдаемое на этой фотографии, не из-за того, что объект не сфокусирован.

портрет F / 29 ISO100 1/250


6
дифракция играет роль в этой апертуре
ноль

7
Определенно связанный, если не совсем дубликат: что такое «дифракционный предел»? ,
Филипп Кендалл

1
Был ли объектив сфокусирован на 38 мм или 38 см? мм кажется маловероятным.
mattdm

9
Нигде в описании ваших настроек вы не указали, на каком расстоянии был сфокусирован ваш объектив. Обратите внимание, что это не имеет никакого отношения к фокусному расстоянию, на котором установлен зум-объектив. Возможно, вы сфокусировали объектив на бесконечности, насколько нам известно. Хорошо, может быть, не бесконечность, но просто отсутствие внимания - вероятный кандидат.
osullic

2
«Сосредоточены на» и «фокусное расстояние» - это две разные концепции. Больше здесь .
Mattdm

Ответы:


48

Как упоминалось в других ответах, дифракция привела к нерезкости. Чтобы проверить это, можно попытаться повысить резкость изображения, используя деконволюцию, используя функцию разброса точек, соответствующую F / 29. Для дифракции имеем (до общей нормализации)

P (s) = {J 1rs / ( λF )] / [π rs / ( λF )]} 2

где J 1 - функция Бесселя первого рода порядка 1 ,
s - расстояние в изображении, измеренное в пикселях,
r - размер одного пикселя (обычно около 4,2 * 10 ^ (- 6) метров для датчиков обрезки),
λ представляет собой длину волны света, а
Р диафрагменное число, в данном случае 29.

Тогда это справедливо для монохроматического света, чтобы приблизить функцию рассеяния точки для цветовых каналов, которую мы можем усреднить в некотором соответствующем диапазоне длин волн. Кроме того, нужно интегрировать P (s) по области пикселя, указанной s.

Если мы скомпилируем 3-точечные функции разброса для 3 цветовых каналов, мы сможем повысить резкость изображения, преобразовав его в линейное цветовое пространство и применив алгоритм деконволюции, а затем преобразовав обратно в sRGB. Я получил следующий результат:

Заостренная картинка

Таким образом, лицо было значительно обострено, используя только данные о F-числе и предположение о размере пикселя. В темной части изображения видны полосатые артефакты, это связано с постеризацией после преобразования обратно в sRGB.

В соответствии с просьбой я добавлю некоторые подробности об используемых программах. Я использовал ImageJ и ImageMagick , я также использовал Mathematica для вычисления функции разброса точек, но это также можно сделать в ImageJ. Я начну с объяснения того, как я делаю деконволюцию с ImageJ, когда у меня уже есть функция разброса точек. Чтобы выполнить деконволюцию, вам нужно установить плагин для ImageJ, я использовал этот плагин для этого случая, но есть и другие доступные плагины, например плагин DeconvolutionLab .

Во-первых, вам нужно преобразовать в линейное цветовое пространство, я использовал ImageMagick для преобразования нерезкого изображения (input.jpg) в линейное цветовое пространство с помощью команды:

convert input.jpg -colorspace RGB output.tif

Затем с ImageJ вы открываете файл output.tif. Затем в опциях меню вы выбираете «изображение», затем «цвет», а затем «Spit Channels». Затем в меню выберите «Плагины», а затем «Параллельная итеративная деконволюция», а затем «2D Интерактивная деконволюция».

Затем вы получаете окно деконволюции, затем выбираете изображение, а «PSF» означает функцию разброса точек, там вы выбираете файл изображения, который содержит функцию разброса точек. Для метода я выбираю «WPL», который основан на фильтре Винера, который обычно работает достаточно хорошо для изображений с низким уровнем шума. В опциях для WPL установите флажок «нормализовать PSF», и для фильтра нижних частот измените значение на 0,2, по умолчанию оно равно 1, но более низкое значение лучше для изображений с низким уровнем шума (если вы выберете его больше, вы получу изображение, которое менее резкое). Другие опции, Граница может быть выбрана, чтобы быть рефлексивной, изменение размера может быть установлено на «следующую степень 2», выход может быть установлен на 32 бита, точность может быть установлена ​​в два раза. Я выбрал максимальное количество итераций, равное 15,

Затем вы запускаете программу, нажав «deconvolve». Затем вы получите 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, заполненное черным. Затем вы можете запрограммировать формулу для значений серого, выбрав «process», затем «Math», а затем «Macro». Чтобы получить функцию разброса точек для этого случая, которая включает здесь функцию Бесселя, вы можете использовать тот факт, что она хорошо описана в первых нескольких терминах разложения в ряд. Страница 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 цветовых каналах. Затем вы можете выполнить усреднение по нескольким разным длинам волн, создавая изображения для разных лямбд, затем выбирая «процесс», затем «калькулятор изображений», и там вы выбираете «добавить». Затем вы можете добавить другое изображение к этому результату, и когда вы закончите добавлять, вы можете разделить, чтобы получить среднее значение, выбрав «процесс», затем «математика», а затем «разделить».


Это довольно удивительно. Интересно, сколько времени пройдет, пока у камер не будет встроенного в их арсенал автоматической коррекции и такого рода вещи применяются как само собой разумеющееся.
Матдм

2
+10 (правда, не могу +10) за добавление математики. Это здорово, что ты добавил это. Можете ли вы привести какие-либо цитаты для этого. Я хочу попробовать это сам. Чем подробнее математика, тем лучше!
Поврежден MyStack

Это действительно удивительно. В каком программном обеспечении вы это делали? Кажется, это может быть невероятно полезно для макросъемки.
Whelkaholism

@mattdm Деконволюция требует определенных вычислительных мощностей, но тогда некоторые алгоритмы, такие как деконволюция Ричардсона-Люси, могут быть легче реализованы в аппаратном обеспечении, чем другие. Кроме того, программное обеспечение камеры, которое используется для обработки их необработанных файлов на их компьютерах, может включать деконволюцию, которая специально оптимизирована для работы с фактическим размытием, которое вы получаете из-за расфокусировки и дифракции.
Граф Иблис

1
@CorruptedMyStack Я добавлю еще несколько деталей в ответ. Вы должны быть в состоянии сделать намного лучшую работу, если у вас есть сырой файл. Вы можете посмотреть размер сенсора и рассчитать размер пикселя. Но вы также можете пропустить вычисления и непосредственно измерить функцию разброса точек, сделав снимки некоторого точечного объекта, а затем просто извлечь из него функцию разброса точек. В случае дифракции деконволюцию лучше всего выполнять с необработанными файлами, в отличие от других случаев, теперь у вас есть цветная окантовка, которую не следует корректировать перед выполнением деконволюции.
Граф Иблис

51

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

Вы обычно острее в «счастливой среде». Место «счастливой среды» вашего механизма может меняться в зависимости от плотности / размера пикселей и конструкции объектива. С датчиками размера 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


Или, если вы судите, как может выглядеть отпечаток, то: увеличьте изображение так, чтобы оно отображалось на экране примерно того же размера, что и на отпечатке, и посмотрите на экран примерно с того же расстояния, что и на экране. Распечатать. Это даст вам гораздо лучшее представление о том, как будет выглядеть конечный результат, даже если это не идеальный метод. @CorruptedMyStack
CVn

15

Из-за дифракции. f / 29 - это слишком много, чтобы ожидать резкого изображения. Попробуйте сделать то же самое в f / 8, и вы увидите разницу.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.