2016-07-21 11 views
0

Я смущен о преобразовании координат калибровки камеры opencv. Я использовал пример код для калибровки моей камеры, и я получил этот результат:координата камеры координата пикселя opencv

enter image description here

Когда я использую эту матрицу камеры, чтобы умножать точка в системе координат камеры, скажем P = [50, 50, 1,35] , результат вывода слишком велик, что невозможно для пиксельной координаты. Что здесь не так? Я что-то пропустил ?

Изображение 1920 х 1080. Это информация файла конфигурации шахматной доски:

enter image description here

+0

Можно полностью спроектировать точку, которая не будет находиться внутри изображения. Вы выбираете соотношение между X и Z (или Y и Z), которое очень велико. Это похоже на то, что я хочу проецировать точку, которая находится на расстоянии 1,5 м от камеры в Z, но это на расстоянии 50 м от X и Y ... – Catree

+0

@ Катри Я не совсем понимаю, что вы говорите «Вы выбираете соотношение между X и Z (или Y и Z), которые очень большие ». – Johnnylin

+0

В этом сообщении очень хорошо объясняется процесс http://stackoverflow.com/questions/12299870/computing-xy-coordinate-3d-from-image-point? rq = 1 – damianodamiano

ответ

2

Вы можете найти в OpenCV documentation различные уравнения для модели перспективной проекции, также показаны на следующих рисунках (благодаря этому link).

Camera model

Предполагая точку P=(X,Y,Z) в камеры кадра Fc, его координаты в нормализованном кадре камеры является:

x' = X/Z 
y' = Y/Z 

и его проекцией на плоскость изображения (предполагая отсутствие искажений):

u = fx * x' + cx 
v = fy * y' + cy 

С fx и fy фокусное расстояние в p ixel и cx, cy координата главной точки изображения.

В вашем случае ваш Z находится на расстоянии 1,35 от камеры, но две другие координаты слишком далеко по сравнению с координатой Z.

Нет проблем математически, просто ваша точка P не видна для вашей камеры.

+1

, что означает, что точка находится за пределами поля зрения. – Johnnylin

+0

Точно вы также можете вычислить теоретическое поле зрения, и вы должны получить что-то вроде 177 ° ('2 * atan (50/1.35)'). – Catree

 Смежные вопросы

  • Нет связанных вопросов^_^