Как проверить фактическое фокусное расстояние?

17

Из комментария Мэтта Грума к моему предыдущему вопросу я узнал, что производители могут случайно «округлить» фактическое фокусное расстояние объектива до некоторого красивого числа, которое напечатано на коробке и сохранено в EXIF. Судя по его ответу на тот же вопрос, мне нужно знать фактическое фокусное расстояние объектива, чтобы проверить, какая диафрагма используется.

Я также слышал, что большинство объективов изменяют фокусное расстояние, когда фокусируются очень близко.

Как бы идти о тестировании , что фокусное расстояние объектива моя будет на самом деле , используя при фокусировке на заданном расстоянии? EXIF, очевидно, мне здесь не поможет, потому что данные помещаются туда производителем.

Имре
источник
1
Да, фокусное расстояние меняется с фокусным расстоянием. Не только для близкой фокусировки, просто там легче заметить. Обычно производители указывают фокусное расстояние при фокусировке на бесконечность. Да, большинство производителей округляют число до целых миллиметров, за исключением Tokina и Olympus, которые округляют до ½ миллиметра. Сигма имеет одну линзу с фокусным расстоянием в полмиллиметра.
Итай
@Itai Nikon также имеет 10,5 мм рыбий глаз
Imre
3
Это имеет большее значение для широкого угла, чем для длинных линз. Разница между beteen 10 и 10,5 такая же, как разница между 200 и 210.
mattdm
1
В качестве примера того, насколько далеко могут находиться объективы, можно посмотреть сравнительные снимки между макросом Canon 100mm f / 2.8 и макросом Canon 100mm f / 2.8L IS - несмотря на то, что оба продаются как «100 мм», их фокусные расстояния заметно различаются!
Мэтт Грум

Ответы:

10

Существует математический / измерительный метод для расчета эффективного фокусного расстояния объектива путем измерения его угла зрения.

Формула для угла зрения дается как
введите описание изображения здесь

Для вычисления эффективного фокусного расстояния (f) формула сводится к:
f = d / (2 * tan (α / 2)) -> Equation1

Где d представляет размер датчика в измеренном направлении. d будет 24, если вы используете полнокадровую камеру.

Теперь у нас есть следующая установка для измерения α

введите описание изображения здесь

У вас есть камера, сидящая на высоте H от земли и на расстоянии X от стены со шкалой. Теперь сделайте снимок, и вы сможете прочитать максимальную высоту, которую может видеть объектив (это будет H + Y).
Теперь, зная X и Y, мы можем рассчитать половину угла зрения (т.е. α / 2), используя эту ссылку (X будет противоположной стороной, а Y - соседней)

Теперь, когда вы вычислили α / 2, используйте его в уравнении 1 для вычисления эффективного фокусного расстояния объектива.

Значение является точным только как ваши измерения.

Изменить 1:
В связи с вопросом Mattdm: Являются ли размеры датчика, указанные производителем, достаточно близки?
Со ссылкой на размеры датчиков камер в этих ссылках: здесь и здесь
Мы можем логически предположить, что производители камер или, по крайней мере, Canon и Nikon округляют свои размеры датчиков 1/10 мм. то есть есть вероятность ошибки +/- 0,05 мм, если они округляют размер датчика.
Давайте рассмотрим линзы трех типов:
1. Широкоугольный объектив (скажем, 13 мм, угол зрения: 85,4)
2. Нормальный объектив (50 мм, угол зрения 27,0)
3. Телеобъектив (300 мм, угол зрения: 4,58)

Эффект изменения размера датчика
на 0,05 мм : изменение для широкоугольного объектива = 0,05 / (2 * загар (85,4 / 2)) = 0,04613 мм ок.
Что представляет собой разницу в 0,35% (то есть (0,04613 / 13) * 100)

изменение для нормальной линзы = 0,05 / (2 * загар (27/2)) = 0,012 мм ок.
Что представляет собой разницу в 0,024% (т.е. (0,012 / 50) * 100)

изменение для телеобъектива = 0,05 / (2 * загар (4,58 / 2)) = 0,0019 мм ок.
Что представляет собой разницу 0,0006% (т. Е. (0,0019 / 300) * 100)

Таким образом, мы видим, что с широкоугольным объективом 13 мм и ошибкой 0,05 мм в измерениях производителей изменение фокусного расстояния составляет всего 0,35%.

Я надеюсь, что моя математика верна.

Изменить 2:
В связи с вопросом Имре об измерениях для X & H,
H следует измерять от земли до горизонтального центра датчика.
X - расстояние между датчиком и стеной.

Viv
источник
Это кажется идеальным, если вы хотите рассчитать фокусное расстояние, главным образом из интереса к углу зрения. Но @Imre упоминает о желании узнать для целей расчета реальной апертуры. Это означает, что важно знать точные размеры части датчика, используемого для формирования изображения. Как можно найти это ? Достаточно ли близки размеры датчика, указанные производителем?
Матдм
Отредактировал мой ответ на ваш вопрос.
Viv
Я думаю, что Н должен измеряться от земли до горизонтального центра объектива. К какой точке камеры / объектива относится X?
Имре
Обновил мой ответ на ваш вопрос Imre.
Вив
3

Предполагая, что стандартный объектив, стандартная камера, то есть установка может быть смоделирована как камера с точечным отверстием . Это не работает с наклоном / сдвигом, и, возможно, не с широкоугольными объективами (если вы хотите узнать о них, мы могли бы решить это).

В компьютерном зрении часто вычисляются внутренние свойства камер. Внутренний, потому что они относятся к настройкам камеры внутри камеры. Внешние свойства - это ориентация и положение. Внутренних свойств несколько, среди них увеличение. Мое решение:

  • Используйте стандартный инструмент Computer Vision (CV), чтобы откалибровать камеру и объектив при заданных настройках.
  • Посмотрите размер пикселя для вашей камеры.
  • Попросите кого-нибудь еще преобразовать увеличение в фокусное расстояние. (Я пока не знаю, как это работает)

калибровка

Калибровка в CV в основном выполняется с использованием шахматной доски. Вы делаете несколько (~ 10) фотографий этого рисунка с разных позиций и расстояний. Алгоритм работает тогда следующим образом:

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

Теоретически я бы порекомендовал для этого OpenCV, для этого есть пример кода. Но, возможно, это не слишком практично (для этого вам нужно установить OpenCV и, возможно, немного изменить код). Есть, вероятно, другие решения, которые делают это.

Расчет фокусного расстояния

Результатом шага калибровки является матрица K (называемая внутренней матрицей). Он отображает трехмерные точки в системе координат камеры на однородные двухмерные точки на плоскости изображения.

$     \alpha 0      p_x
 K =  0      \alpha p_y
      0      0      1 $ (Multiple View Geometry, p. 157, 2nd Ed, 2003, Hartley & Zisserman)

Мы заботимся только об \ альфа здесь. Значение p_x составляет примерно половину ширины сенсора в пикселях, аналогично для p_y, оно относится к тому месту, где главный луч пересекает плоскость изображения. Интересно, что моя дешевая камера телефона нарушает это намного больше, чем хорошая зеркальная камера, или даже дорогая веб-камера, или камера Iphone 4.

Тогда альфа связана с фокусным расстоянием. \ alpha = f m. m - количество пикселей на единицу расстояния в координатах изображения. f - фокусное расстояние. Но обратите внимание: это в модели камеры с точечным отверстием, поэтому расстояние между плоскостью изображения и точечным отверстием камеры. Я не уверен, как найти фокусное расстояние, о котором думают фотографы.

альтернатива

Кто-то разместил ссылку о другом подходе: http://www.bobatkins.com/photography/technical/measuring_focal_length.html В статье «Легкий путь» предлагается другой метод. Учитывая две звезды, посмотрите на расположение звезд и вычислите угол между ними. Затем посмотрите, как ваша камера измеряет этот угол. Прочитайте ссылку для полного прогона.

Недостатком этого является то, что он не будет работать с любым фокусным расстоянием, а будет фокусироваться только на бесконечности. С другой стороны, мой подход не будет работать в бесконечности. Или относитесь к 500 м как к бесконечности, покупайте кукурузное поле и косите на нем шахматную доску, арендуйте самолет и фотографируйте с высоты 500 м ...

Unapiedra
источник
Вы можете найти некоторые полезные сведения о увеличении и фокусном расстоянии здесь: pierretoscani.com/echo_focal_length.html#FocalLength04 Если это не поможет, вы можете найти формулу для преобразования фокусного расстояния в увеличение, а также инвертировать формулу и выполнить увеличение через это (хотя большинство таких формул, которые я нашел при некоторых быстрых поисках, ДЕЙСТВИТЕЛЬНО грубы, и часто основаны на неточном анектоде, что 50-мм объектив является «нормальным» для 35-мм пленки, что на самом деле не так (подробности см. в комментариях) .)
Йриста
1

Рассчитайте увеличение M объектива, используя объект и размер изображения. С помощью M и расстояния до объекта можно рассчитать фокусное расстояние объектива.

JMD
источник
Если предположить, что мой школьный класс по геометрии уже двадцать лет, как бы я поступил так?
Mattdm
В качестве примера. Я представляю себе двухметровую (S_o) палку, которая находится в 10 метрах (d_o) от камеры. Из изображения двухметровая палка имеет ширину 1000 пикселей. Каждый пиксель составляет 10 микрометров, что дает размер изображения 0,01 метра (S_i). Увеличение M = S_i / S_o = 0,01 / 2 = 0,005. Я думаю, что M = f / (f-d_o), вы можете подтвердить с книгой оптики. Фокусное расстояние f можно рассчитать.
JMD
Я только что проверил объектив canon, установленный на f = 55 мм, и измеренное фокусное расстояние составило 52 мм +/- 0,75 мм.
JMD
1
JMD, добро пожаловать в сообщество. Вы можете переместить свои комментарии в текст самого ответа.
ysap
Это работает, только если объект находится далеко. В противном случае вам необходимо учитывать расстояние между двумя основными точками объектива. Большую часть времени вы не знаете, что это за расстояние.
Эдгар Бонет
1

Я посмотрел на «Простой метод» Боба Аткинса, но он оставляет вам возможность поработать с некоторыми астро-данными.

Моя версия его метода содержит всю информацию и ссылки, а также пошаговые инструкции и должна быть значительно проще для новичков в реализации.

http://www.pentaxforums.com/forums/pentax-lens-articles/169225-using-2-stars-determine-actual-focal-length-lens-distance.html

dosdan
источник
Привет и добро пожаловать в Stack Exchange. Не могли бы вы опубликовать хотя бы краткое изложение вашего метода здесь? Форумы Pentax, по крайней мере, однажды в прошлом, изменили что-то, чтобы все входящие ссылки были сломаны.
Mattdm
Я исчерпал личное веб-пространство. Удаленные файлы, на которые есть ссылки в этой статье Pentaxforums, были восстановлены.
досдан
-1

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

Беритесь за расстояния, пока изображение линейки не станет «в натуральную величину». Вы знаете, 1: 1 иначе называется «увеличение один». Используя другую линейку, измерьте расстояние между отметками на изображении проецируемого правила. Использование двух одинаковых линейок помогает. Теперь установите необходимое увеличение 1: 1.

Теперь измерьте расстояние между целью и экраном. Разделите это значение на 4. Этот ответ дает фокусное расстояние объектива.

Алан Маркус
источник