Kinect 3D в 2D смещение

Я борюсь с интерпретацией данных о глубине kinect.

Чтобы получить реальное расстояние от Kinect, я использовал следующую формулу:

  if(i<2047){
depthToMeterTable[i] = i * -0.0030711016  + 3.3309495161;
}
else{
depthToMeterTable[i] = 0;
}

Эта формула дает что-то довольно хорошее в качестве оценщика расстояния.

Однако я получаю странный вывод из 90-градусной визуализации угла стены.

На следующем изображении две разные информации. Во-первых, фиолетовые линии представляют стену, какой я ДОЛЖЕН ее видеть. Угол 90 °. Красные точки представляют стену, видимую из Kinect. Как видите, угол двух плоскостей теперь больше.

http://img843.imageshack.us/img843/4061/kinectbias.jpg

Есть ли у вас какие-либо идеи, где я мог бы исправить этот уклон, и как это сделать?

Спасибо за чтение,

Al_th

0

Решение

Я не знаком с этой формулой преобразования (также не уверен, как заполняется ваша глубинаToMeterTable — какая формула там используется).

Для этого в libfreenect есть встроенная функция: freenect_camera_to_world

До того, как эта функция была добавлена, я использовал Функции преобразования Мэтта Фишера(RawDepthToMeters и DepthToWorld).

НТН

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]