Поза камеры и отражения с помощью OpenCV SovePNP

Я пытаюсь использовать функцию SolvePNP, чтобы оценить относительное положение камеры. Мой вопрос в том, что, выбирая мировые координаты, нужно ли быть осторожным при их выборе, чтобы не было отражений при преобразовании их в координаты камеры? Или OpenCV исправит это для меня?

Детали: я снимаю на теннисном корте и первоначально устанавливал начало координат мировой координаты в качестве центра корта, причем ось x указывала параллельно сетке влево, а ось y указывала вперед на корте вертикально, и ось z, направленная вверх. Если я правильно понял, SolvePNP преобразует эти координаты в систему с началом координат в некоторой точке за верхним левым углом изображения, при этом ось x направлена ​​вниз на изображение, ось y направлена ​​вправо, а z- ось, указывающая вперед на сцену. Однако это преобразование определенно будет включать отражение, я должен поменять оси x и y моих координат мира, чтобы избежать этого, или это нормально, чтобы оставить их такими, какие они есть? (Кроме того, дайте мне знать, если я делаю большую ошибку, и SolvePnp фактически помещает начало координат в точку позади центра изображения, а не в верхний левый угол...)

1 ответ

Предполагая, что у вас есть матрица калибровки камеры (и что такая калибровка была выполнена с использованием все время правой системы координат) и правильные соответствия между элементами теннисного поля на изображении и CAD-функциями:

Вы должны выбрать систему отсчета в теннисном корте таким образом, что является правая система координат, так что ваше решение от solvePNP обеспечивает позу и положение опорной рамы теннис поля относительно камеры системы (по умолчанию правая рука координат система координат).

Надеюсь, поможет

Другие вопросы по тегам