我在visual c中使用OpenCV 2.6和Kinect SDK 1.6 . 如何在2D彩色图像中获取任何特定物体/像素的kinect传感器的距离(Z轴)?我试过NuiTransformSkeletonToDepthImage(..),它只提供骨架距离 . 对于我的应用,我需要kinect和2D彩色图像中的任何像素之间的距离 . 请帮忙...
要获得与特定像素的距离,首先需要从当前所选位置计算 pixelIndex . 为 depthImageControl_MouseDown 添加一个新的事件处理程序,它将处理距离计算 .
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;
1 回答
要获得与特定像素的距离,首先需要从当前所选位置计算
pixelIndex
. 为depthImageControl_MouseDown
添加一个新的事件处理程序,它将处理距离计算 .使用以下代码获取所选位置:
在下一步中,从所选位置的X和Y坐标计算pixelIndex:
最后,通过使用位屏蔽来获取距离: