Расстояние пикселей Kinect

Я использую OpenCV 2.6 и Kinect SDK 1.6 в своем визуальном С++. Как получить расстояние (ось Z) от датчика kinect любого конкретного объекта/пикселя в цветном 2D-изображении? Я пробовал NuiTransformSkeletonToDepthImage(..), который обеспечивает только расстояние до скелета. Для моего приложения мне требуется расстояние между kinect и любым пикселем в цветном 2D-изображении. Пожалуйста помоги...


person Tonmoy    schedule 29.12.2013    source источник


Ответы (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
comment
Я использую визуальный С++... как я могу сделать это на С++? - person Tonmoy; 30.12.2013