我在visual c ++中使用OpenCV 2.6和Kinect SDK 1.6。如何在2D彩色图像中获取任何特定物体/像素的kinect传感器的距离(Z轴)?我试过NuiTransformSkeletonToDepthImage(..),它只提供骨架距离。对于我的应用,我需要kinect和2D彩色图像中的任何像素之间的距离。请帮忙......
答案 0 :(得分:-1)
要获得特定像素的距离,首先需要计算
来自当前所选位置的pixelIndex
。为...添加新的事件处理程序
depthImageControl_MouseDown
,它将处理距离计算。
使用以下代码获取所选位置:
Point currentPoint = e.GetPosition(depthImageControl);
在下一步中,从X和Y坐标计算pixelIndex 选定职位:
int pixelIndex = (int)(currentPoint.X + ((int)currentPoint.Y * this.
frame.Width));
最后,通过使用位屏蔽来获取距离:
int distancemm = this.pixelData[pixelIndex] >> DepthImageFrame.
PlayerIndexBitmaskWidth;