OpenGL создает проекционную матрицу, похожую на камеру kinect.

Я хочу создать матрицу перспективной проекции в OpenGL. Эта проекционная матрица должна имитировать камеру kinect из Xbox One. Это должна быть камера глубины от kinect. Это должно быть максимально точно.

Я использую на данный момент это:

matrix = glm::perspective(70.6f, 1.177f, 0.01f, 1700.0f);

Я обнаружил, что камера kinect имеет поле зрения 70,6 по x и 60 по y. Поэтому я подумал, что это сработает, просто задав угол 70,6 и соотношение сторон 1,177, что составляет 70,6/60.

Каким будет точный способ определить такую ​​проекционную матрицу?


person Dominick    schedule 21.03.2017    source источник
comment
Определите точно? Вы просто ищете проекционную матрицу, соответствующую аспекту камеры Kinect, потому что тогда кажется, что вы на правильном пути (при условии, что ваши значения верны).   -  person vallentin    schedule 22.03.2017
comment
Мне нужна эта проекционная матрица для реконструкции объекта по картам глубины. Поэтому, чтобы правильно найти правильную координату пикселя, мне нужна точная проекция.   -  person Dominick    schedule 22.03.2017
comment
Самый простой способ — установить для области просмотра OpenGL размер кадра kinect, чтобы избавиться от разницы углов в FOVx/FOVy. Ваш FOVx немного отличается от моего. Вы уверены, что измеряете одну камеру? Взгляните на них: Kinect необработанная глубина для расстояния в метрах , Имеет ли Kinect Infrared View смещение с Kinect Depth View , Выровняйте уже захваченный rgb и изображения глубины. FOV может меняться в зависимости от разрешения Kinect.   -  person Spektre    schedule 22.03.2017
comment
У меня кинект. Мои источники взяты из: smeenk.com/kinect-field-of-view-comparison< /а>   -  person Dominick    schedule 23.03.2017
comment
@Dominick, вам нужно измерить его в целевом разрешении, поскольку устройство для устройства может иметь разные свойства (как FOV, так и смещение). Заявленное производителем значение небезопасно для использования ... также Kinect одного вряд ли достаточно для определения, вам нужно посмотреть номер версии внизу, обычно есть штамп ... между некоторыми версиями была большая разница. Я получил одну из первых генерация с различными FOV и форматами необработанных данных, диапазонами и т. д. ...   -  person Spektre    schedule 24.03.2017