Як перевірити фактичну фокусну відстань?


17

З коментаря Метта Ґрама до мого попереднього запитання я дізнався, що виробники можуть випадково «округлити» фактичну фокусну відстань лінзи до деякого приємного числа, яке друкується на коробці та зберігається в EXIF. З його відповіді на той же питання, здається, мені потрібно було б знати фактичну фокусну відстань лінзи, щоб перевірити, яка діафрагма використовується.

Я також чув, що більшість об'єктивів змінять фокусну відстань, коли фокусуються дуже близько.

Як би я міг перевірити, яку фокусну відстань насправді використовує моя лінза, якщо зосереджений на заданій відстані? Тут явно мені не допоможе EXIF, оскільки там дані виробник.


1
Так, фокусна відстань змінюється в залежності від відстані фокусування. Не тільки для тісного фокусування, там просто простіше помітити. Зазвичай виробники цитують фокусну відстань, коли фокусуються до нескінченності. Так, більшість виробників округлить їх число до цілих міліметрів, за винятком Tokina та Olympus, які круглі до ½ міліметра. Сігма має одну лінзу з фокусною довжиною в півміліметра.
Ітаї

@Itai Nikon також має риб'яче око 10,5 мм
Імре

3
Це робить більшу різницю під широким кутом, ніж для довгих лінз. Різниця між 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)) -> рівняння1

Де d позначає розмір датчика в вимірюваному напрямку. d буде 24, якщо ви користуєтесь повнокадровою камерою.

Давайте тепер встановимо наступне налаштування для вимірювання α

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

У вас є камера, яка сидить на висоті 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 - відстань між датчиком і стінкою.


Це здається ідеальним, якщо хочеться обчислити фокусну відстань, головним чином, не цікавлячись кутом зору. Але @Imre згадує бажаючих знати для обчислення реальної діафрагми. Це означає, що важливо знати точні розміри частини датчика, що використовується для візуалізації. Як один знайти , що ? Чи достатньо близькі вказані виробником розміри датчиків?
mattdm

Відредагував мою відповідь на ваше запитання.
Viv

Я думаю, що H слід вимірювати від землі до горизонтального центру лінзи. На яку точку на камері / об'єктиві посилається X?
Імре

Оновили свою відповідь на ваше запитання, Імре.
Viv

3

Якщо припустити стандартний об'єктив, то стандартну камеру, тобто налаштування можна моделювати як камеру з штифтовим отвором . Це не працює з нахилом / зсувом, а може бути, і з ширококутними лінзами (якщо ви хочете знати про них, ми могли б це розробити).

У комп’ютерному зорі часто обчислюються внутрішні властивості камер. Власне, оскільки вони посилаються на налаштування камери всередині камери. Зовнішні властивості - орієнтація та положення. Внутрішніх властивостей кілька, серед них збільшення. Моє рішення:

  • Використовуйте стандартний інструмент Computer Vision (CV) для калібрування камери та об'єктива за заданими налаштуваннями.
  • Знайдіть розмір пікселя для вашої камери.
  • Попросіть когось іншого перетворити збільшення на фокусну відстань. (Я ще не знаю, як це працює)

Калібрування

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

Прикиньте, що ви знаєте положення кожної вершини на дошці, знайдіть набір параметрів моделі камери, які найкраще пояснюють бачення всіх точок на дошці на зображеннях.

Теоретично я б рекомендував OpenCV для цього, він має приклад коду для цього. Але це, можливо, не надто практично (для цього потрібно встановити OpenCV і, можливо, змінити трохи коду.). Напевно, є й інші рішення, які роблять це.

Розрахунок фокусної відстані

Результатом етапу калібрування є матриця K (називається внутрішньою матрицею). Він відображає 3-просторові точки в системі координат камери до однорідних 2-пробільних точок на площині зображення.

$     \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, це стосується того, де головний промінь перетинає площину зображення. Цікаво, що моя дешева телефонна камера порушує це набагато більше, ніж хороший DSLR, або навіть дорога веб-камера, або камера Iphone 4.

\ альфа потім пов'язана з фокусною відстанню. \ alpha = f m. m - кількість пікселів на одиницю відстані в координатах зображення. f - фокусна відстань. Але зауважте: це в моделі камери-наконечника, тому відстань між площиною зображення та шпильковим отвором камери. Я не впевнений, як змусити замислюватися фотографів фокусної відстані.

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

Хтось опублікував посилання про інший підхід: http://www.bobatkins.com/photography/technical/measuring_focal_length.html Вниз на "Простий шлях" у статті запропоновано інший метод. Давши дві зірки, подивіться на положення зірок і обчисліть кут між ними. Потім подивіться, як налаштування камери вимірює цей кут. Прочитайте посилання для повного пробігу.

Мінус цього полягає в тому, що він не працюватиме з фокусною відстані, а лише зосереджується на нескінченності. З іншого боку, мій підхід не працюватиме нескінченно. Або ставитесь до 500м як до нескінченності, купіть кукурудзяне поле і скошіть у нього візерунок шахової дошки, зніміть площину та сфотографуйте від 500 м вгору ...


Деякі корисні деталі щодо збільшення та фокусної відстані ви можете знайти тут: pierretoscani.com/echo_focal_length.html#FocalLength04 Якщо це не допоможе, ви можете шукати формулу для перетворення фокусної відстані в збільшення та інвертувати формулу та запустити збільшення через це (хоча більшість таких формул, які я знайшов за допомогою швидких пошуків, дійсно грубі, і часто засновані на неточному анектоді, що 50-міліметрова лінза "нормальна" для 35-мм плівки, що насправді не так (див. коментарі для деталей) .)
jrista

1

Обчисліть збільшення М об'єктива, використовуючи розмір об'єкта та зображення. З M та відстані об'єкта фокусна відстань лінзи може бути обчислена.


Якщо припустити, що це двадцятирічний розмір мого класу середньої школи з геометрії, то як би я займався цим?
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


Привіт, ласкаво просимо на обмін стеками. Ви б не хотіли розмістити тут хоча б резюме свого методу? Форуми Pentax хоча б раз у минулому щось змінили, так що всі вхідні посилання були порушені.
mattdm

Мені не вистачало особистого веб-простору. Видалені файли, з якими було пов’язано у цій статті Pentaxforums, були відновлені.
досдан

-1

Ви можете встановити об'єктив на відпочинок, як книгу, таким чином зробивши сиру оптичну лавку. Добре освітліть ціль. Найкраще - лінійка. Відрегулюйте об'єктив так, щоб зображення лінійки падало на екран білого паперу.

Пограбуйте з відстанями, поки образ лінійки не стане «в натуральну величину». Ви знаєте, 1: 1 інакше називають «збільшенням». За допомогою іншої лінійки виміряйте відстань між розмітками на зображенні проектованого правила. Використання двох однакових лінійок допомагає. Тепер встановіть необхідне збільшення 1: 1.

Тепер виміряйте відстань між ціллю і екраном. Розділіть це значення на 4. Ця відповідь дає фокусну відстань об’єктива.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.