4
在我的Kinect項目中,我試圖用Kinect傳感器創建點雲。當顯示3D點時,我得到一個傾斜的模型,其中牆壁和地板是彎曲的。Kinect點雲弧形牆
編輯:我正在使用微軟的Kinect SDK。這個點雲是在傳感器離牆一英尺遠的地方產生的。
在我的Kinect項目中,我試圖用Kinect傳感器創建點雲。當顯示3D點時,我得到一個傾斜的模型,其中牆壁和地板是彎曲的。Kinect點雲弧形牆
編輯:我正在使用微軟的Kinect SDK。這個點雲是在傳感器離牆一英尺遠的地方產生的。
我找到了答案。我使用的是深度圖像,這不是真實世界的座標。我使用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);
}
提供更多的細節,如:無論您使用的是「官方」 Kinect的API或libkinect,並有多遠Kinect的是從牆上。 –
我使用了微軟的SDK。牆壁離Kinect大約一英尺遠。 – user977198
您可否詳細說明一下如何生成點雲的x,y座標?你是否使用IR傳感器的失真值? – Sassa