Преобразовать значения kinect RGB и глубины в координаты XYZ

Я ищу простой способ конвертировать kinect RGB и значения глубины в координаты XYZ, используя MATLAB. Моя цель - это функция с вводом: значений RGB и глубины каждой точки, получаемой камерой Kinect, и выводом: значений x,y и z каждой точки.

[RGB, глубина] = RGB_D2XYZ(XYZ)

Спасибо Бен

1 ответ

Решение

Вы можете взглянуть на эту замечательную статью. У них есть вызов функции DepthToCloud.m. Вам просто нужно обязательно пройти центр изображения и левый верхний угол.

Они также используют Kinect, так что вам не нужно менять много параметров.

Статью можно найти здесь

РЕДАКТИРОВАТЬ

Вы можете использовать оболочку mexopencv или OpenCV Matlab для захвата изображения и калибровки. После OpenCV есть отличный вызов функции reporjectImageTo3D, Но для этой функции нужна матрица Q, Это матрица проекции. Посмотрите документацию OpenCV, если вы хотите сделать таким образом. Иначе глубина тоже очень хороша.

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