Поскольку мы знаем размер сенсора, существует прямая зависимость между углом зрения и фокусным расстоянием. Поэтому, если мы хотим узнать фокусное расстояние, нам нужно найти угол обзора.
Базовый корпус:
В базовом случае, если мы знаем диаметр поднимающегося шара, мы можем экстраполировать ширину изображения (параллельно датчику) на расстоянии до датчика. Если бы мы также знали расстояние между левитирующим шаром и датчиком, мы могли бы рассчитать угол обзора.
Базовый случай 2:
Рассмотрим 2 левитирующих шара одинакового диаметра, один из которых расположен слева в раме, а другой - справа. Пусть левый шарик расположен на 2 м дальше от датчика, чем правый шарик.
Базовый вариант решения 2:
Пусть левый шар на картинке будет в два раза меньше левого. Тогда левый шарик должен быть вдвое дальше от датчика. Поэтому расстояние правого шарика до датчика должно составлять 2 метра. Поскольку теперь у нас есть ширина объекта и расстояние до него, мы можем рассчитать угол обзора и фокусное расстояние.
Резюмируйте базовый случай 2:
Мы начали с 3 длин на изображении, двух объектов шириной и одного расстояния между объектами. Нам не нужно было никаких дополнительных данных для расчета угла зрения.
Знакомый случай 1:
Мы могли бы применить тот же метод, если бы знали ширину кончика носа, ширину глаза и расстояние от кончика носа до глаза. Однако, где это становится трудным, это то, что это должно быть расстояние от носа до глаза с точки зрения датчика. Небольшой поворот лица изменит это расстояние.
Знакомый случай 2:
Допустим, мы знаем длину лобового стекла и длину капота автомобиля (от переднего до лобового). У нас есть три длины на картинке, так как у нас есть близкая длина капюшона и дальняя длина капюшона. Длина ветрового стекла дает нам длину между ближним и дальним капотом. К сожалению, у нас недостаточно данных для расчета угла зрения. Это связано с тем, что у нас нет расстояния от ближнего до дальнего колпака относительно датчика, а длина колпака не показана параллельно сенсору.
Мы можем рассчитать поле зрения, если мы используем тот факт, что длина капота имеет угол 90 градусов с ветровым стеклом. С помощью некоторых сложных матричных вычислений мы можем затем преобразовать длины колпака в длины, параллельные датчику, а длину ветрового стекла в расстояние относительно датчика.
Вывод:
На первых трех рисунках мы могли рассчитать угол обзора напрямую, потому что все расстояния параллельны или перпендикулярны датчику. В последнем примере нам нужно было «перевести» длины, которые нам требовались, в параллельные и перпендикулярные длины, используя дополнительные данные.