Как настроить матрицы преобразования, которые принимают мировые координаты в метрах (для дополненной реальности) - PullRequest
2 голосов
/ 04 сентября 2011

Я делаю приложение дополненной реальности с Kinect. хотите наложить расширенные трехмерные объекты на вывод цветной камеры.

Я знаю, как настроить матрицу проекции, но не знаю, как преобразовать координаты кости (в метрах) в мировые координаты.

информация о камере фокусное расстояние в пикселях = 531,15 (не уверен, что именно это означает) fovX = 62


direct3d matrix 
m_matrix[0] = (2 * 531.15f / 640.0f ); 
m_matrix[5] = (2 * 531.15f / 480.0f ); 
m_matrix[10] = -1.0f; 
m_matrix[11] = -1.0f ; 
m_matrix[14] = -1;

1 Ответ

2 голосов
/ 26 января 2012

У меня была такая же проблема, но в итоге я выбрал другой подход. Вместо преобразования координат кости я создал матрицу проекции, где 1 единица мира = 1 метр. Кроме того, вам необходимо синхронизировать изображение RGB с изображением глубины.

Более подробную информацию и одно решение вы можете найти в моем SO-вопросе здесь: Матрицы проекции и просмотра в соответствии с перспективой камеры Kinect RGB

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

...