2012-01-19 2 views
0

현재 골격 추적 프로그램과 내 환경 은 넓은 영역이므로 전체 영역을 커버하기 위해 1 개 이상의 Kinect를 사용해야합니다. 그러나 NuiInitialize는 2 개의 kinect를 동시에 사용할 수 없습니다. 저는 Microsoft KinectSDK Beta2를 사용합니다.탐지 용 2 Kinects 사용

누구나 나를 도와 줄 수 있습니까?

여기 내 C++ 코드도 있습니다.

int no_kinetics =0; 
static INuiInstance* kinect_0=NULL; 
static INuiInstance* kinect_1=NULL; 
HRESULT hr, hr0, hr1, hr_init_0, hr_init_1; 

    hr = MSR_NUIGetDeviceCount(&no_kinetics); 

    hr_init_0 = MSR_NuiCreateInstanceByIndex(0, &kinect_0); 

    hr0 = kinect_0->NuiInitialize(NUI_INITIALIZE_FLAG_USES_SKELETON); 

    hr_init_1 = MSR_NuiCreateInstanceByIndex(1, &kinect_1); 
    hr1 = kinect_1->NuiInitialize(NUI_INITIALIZE_FLAG_USES_SKELETON); 

는 에러 코드 -2097086294

+2

두 개의 kinect를 동일한 USB 컨트롤러/허브에 연결 했습니까? USB 속도가 필요하기 때문에 다른 컨트롤러에 연결해야하는 장치. – Zuljin

답변

0

나는 C# .NET을 사용하는 경우에만 것으로, 같은 문제가 된 적이 있었다. 깊이 + player_info 또는 골격 추적으로 Kinect를 초기화하려고 할 때 오류가 발생합니다.

공식 SDK와 함께 제공되는 SDK 샘플은 결코 그런 일을하지 않습니다. 두 개의 kinect를 초기화하는 것을 피하는 잠금 장치가있는 것 같습니다. 내가 아직도하지 못하는 것은 그러한 행동의 이유입니다.

뼈대 추적을 사용하여 초기화하고 다른 하나는 간단한 깊이 (플레이어 정보 없음)로 초기화하고 실패하지 않는지 알려주십시오. 그렇다면 그것이 일반적인/예상 된 행동인지 알기가 더 가까워 질 것입니다.

EDIT : MS 파트너 인 MSDN에서이 게시물을 발견했습니다. "뼈대 추적 및 심도 + 플레이어 인덱스 스트림과 같은 비디오 API에 대한 제한 사항은 기본값 이들은 프로그래밍 가이드에 설명되어 인덱스 0에 장치 http://bit.ly/KinectSDKProgrammingGuide "

참조 : 당신은 쓸 수 http://social.msdn.microsoft.com/Forums/en-US/kinectsdk/thread/3e72f577-b0a7-4621-9015-3d95eff3a857/

0

"움직임을 추적하는 KINECT를 사용하여 TCP 또는 UDP를 통해 포인트를 전달 서버 "프로그램을. 따라서 더 많은 서버가 실행되는 더 많은 장치로 작업 할 수 있습니다. 귀하의 응용 프로그램은 서버에서 추적 포인트를 얻는 "클라이언트"가됩니다. kinect API로 사용할 kinect를 선택할 수 없다면 항상 두 대의 컴퓨터를 사용할 수 있습니다.