2013-04-02 3 views
4

내 Kinect 프로젝트에서 Kinect 센서로 포인트 클라우드를 만들려고합니다. 3D 점을 표시 할 때 벽과 바닥이 휘어진 비뚤어진 모델을 얻게됩니다.Kinect 포인트 클라우드 곡선 벽

편집 : Microsoft의 Kinect SDK를 사용하고 있습니다. 이 점 구름은 센서가 벽에서 2m 떨어진 지점에서 생성되었습니다.

Kinect Example

+0

같이, 좀 더 자세하게 제공 : 당신이 "공식"키 넥트 API 또는 libkinect, 얼마나 멀리 넥트가 벽에서였다을 사용하고 있는지. –

+0

Microsoft의 SDK를 사용했습니다. 벽은 Kinect에서 약 1 피트 정도 떨어져 있습니다. – user977198

+0

점 구름에 대한 x, y 좌표를 어떻게 생성하는지 조금 자세히 설명해 주시겠습니까? 적외선 센서의 왜곡 값을 사용합니까? – Sassa

답변

5

나는 답을 발견했다. 나는 실제 세계 좌표가 아닌 깊이 이미지를 사용하고있었습니다. Kinect SDK의 CoordinateMapper 클래스를 사용하여 깊이 이미지를 실제 좌표 인 SkeletonPoint로 변환했습니다.

그것은 이런 식으로 뭔가를 갈 것 :

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); 
} 
관련 문제