Моя камера откалибрована для отображения искажений типа «рыбий глаз». Я получил следующие значения для K и D, собственной матрицы камеры и матрицы искажений соответственно:
Код: Выделить всё
K = [[438.76709 0.00000 338.13894]
[0.00000 440.79169 246.80081]
[0.00000 0.00000 1.00000]]
D = [-0.098034379506 0.054022224927 -0.046172648829 -0.009039512970]
Focal length: 2.8mm
Field of view: 145 degrees (from manual)
Я буду размещать объект в 10 см от объектива камеры. Основываясь на том, что я прочитал о модели камеры с точечным отверстием, мне потребуются внешние параметры, управляющие преобразованием 3D в 2D. Однако я не уверен, как мне это получить.
Предполагая, что у меня есть пиксельные координаты двух точек (каждая по краям, между которыми я хотел бы измерить расстояние), как мне найти реальное расстояние между этими двумя точками, используя эти производные матрицы?
Кроме того, если мой прямоугольный объект не параллелен главной оси камеры, существует ли алгоритм для расчета ширины даже с такой условия?