Я использую OpenCV 2.6 и Kinect SDK 1.6 в своем визуальном С++. Как получить расстояние (ось Z) от датчика kinect любого конкретного объекта/пикселя в цветном 2D-изображении? Я пробовал NuiTransformSkeletonToDepthImage(..), который обеспечивает только расстояние до скелета. Для моего приложения мне требуется расстояние между kinect и любым пикселем в цветном 2D-изображении. Пожалуйста помоги...
Расстояние пикселей Kinect
Ответы (1)
Чтобы получить расстояние от определенного пикселя, прежде всего вам нужно вычислить pixelIndex
от текущей выбранной позиции. Добавьте новый обработчик событий для depthImageControl_MouseDown
, который будет обрабатывать расчет расстояния.
Получите выбранную позицию, используя следующий код:
Point currentPoint = e.GetPosition(depthImageControl);
На следующем шаге вычислите pixelIndex по координатам X и Y выбранной позиции:
int pixelIndex = (int)(currentPoint.X + ((int)currentPoint.Y * this.
frame.Width));
И, наконец, получите расстояние, используя битовую маскировку:
int distancemm = this.pixelData[pixelIndex] >> DepthImageFrame.
PlayerIndexBitmaskWidth;
person
Ali Baker
schedule
29.12.2013
Я использую визуальный С++... как я могу сделать это на С++?
- person Tonmoy; 30.12.2013