在我的Kinect项目中,我正在尝试使用Kinect传感器创建点 Cloud . 当显示3D点时,我会得到一个倾斜的模型,其中墙壁和地板是弯曲的 .
编辑:我正在使用微软的Kinect SDK . 这个点 Cloud 是在距离墙壁一两英尺处传感器的情况下产生的 .
我找到了答案 . 我正在使用深度图像,这不是真实的世界坐标 . 我使用Kinect SDK中的CoordinateMapper类将深度图像转换为SkeletonPoints,它们是真实世界的坐标 .
它会是这样的:
using (DepthImageFrame depthFrame = e.OpenDepthImageFrame()) { DepthImagePixel[] depth = new DepthImagePixel[depthFrame.PixelDataLength]; SkeletonPoint[] realPoints = new SkeletonPoint[depth.Length]; depthFrame.CopyDepthImagePixelDataTo(depth); CoordinateMapper mapper = new CoordinateMapper(sensor); mapper.MapDepthFrameToSkeletonFrame(DEPTH_FORMAT, depth, realPoints); }
1 回答
我找到了答案 . 我正在使用深度图像,这不是真实的世界坐标 . 我使用Kinect SDK中的CoordinateMapper类将深度图像转换为SkeletonPoints,它们是真实世界的坐标 .
它会是这样的: