2014-04-22 4 views
0

스켈레톤 매핑에 Kinect를 사용하고 있으며 장치 지원 범위는 최대 4 sensors connected simultaneously입니다.여러 Kinect 센서를 사용하는 스켈레톤 추적

그러나 불행히도 나는 현재 처분 할 수있는 센서가 1 개 밖에 없으므로 결과적으로 하나 이상의 센서가 연결된 경우 SDK의 동작에 대해 확신 할 수 없습니다.

구체적으로 노출 된 API에서 병합되는 데이터는 무엇입니까? 당신이

private void Kinect_AllFramesReady(object sender, AllFramesReadyEventArgs e) 
{ 
} 

이벤트를 처리하는 방식을 사용하고 말하는가 12, 18, 24로 SkeletonFrame.SkeletonArrayLength 증가?

센서마다 각기 다른 ColorImageFrame 또는 DepthImageFrame에 어떻게 액세스합니까? 보통은 카메라에 액세스하려면이

using (ColorImageFrame colorFrame = e.OpenColorImageFrame()) 
{ 
    //Write pixels 
} 

같은 일을 할 수 있지만 장치에 특정 데이터에 액세스하기위한 명백한 방법을 볼 수 없습니다.

위의 설명과 여러 Kinect 센서를 동시에 사용하는 응용 프로그램을 빌드 할 때 어떤 차이가 있는지 이해하는 것이 중요합니다.

답변

2

각 KinectSensor는 별도의 바인딩과 이벤트를 가질 수 있습니다.

foreach (var sensor in KinectSensor.KinectSensors) 
{ 
    if (potentialSensor.Status == KinectStatus.Connected) 
    { 
     //add binding and events. 
    } 
} 

그래서 당신까지, 당신은 가능한 한 동일한 핸들러에 이벤트를 바인딩하고 보낸 사람에 따라 그것으로 무엇을 결정하지만 당신은 모두 함께 데이터를 결합하여 자신의 논리를 만들어야합니다 수 있습니다 I 생각한다.

SkeletonStream 당 SkeletonArrayLength가 고유하기 때문에 SkeletonArrayLength가 증가하지 않습니다.