Как проверить фактическое фокусное расстояние? - Фотопедия
17 голосов
/ 29 июня 2011

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

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

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

Ответы [ 5 ]

10 голосов
/ 18 февраля 2012

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

Формула для угла зрения задается как
enter image description here

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

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

Теперь у нас есть следующая настройка для измерения & alpha;

enter image description here

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

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

Значение точно соответствует вашим измерениям.

Редактировать 1:
Что касается вопроса mattdm: достаточно ли близки размеры датчика, указанные производителем?
Со ссылкой на размеры датчиков камер в этих ссылках: здесь и здесь
Мы можем логично предположить, что производители камер или, по крайней мере, Canon и Nikon округляют размеры своих датчиков 1/10 мм. то есть есть вероятность ошибки +/- 0,05 мм, если они округляют размер датчика.
Давайте рассмотрим 3 типа линз:
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 - расстояние между датчиком и стеной.

3 голосов
/ 18 февраля 2012

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

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

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

Альтернативный

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

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

1 голос
/ 02 марта 2013

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

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

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

1 голос
/ 03 июля 2011

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

0 голосов
/ 17 апреля 2017

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

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

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

...