How to install and use OpenNI + Microsoft Kinect SDK together

http://kinect-i.blogspot.kr/2012/05/how-to-install-and-use-openni-microsoft.html#!/2012/05/how-to-install-and-use-openni-microsoft.html

 키넥트는 원래 PrimeSense라는 이스라엘 센서 제조사에서 만들어진 기기인데 OpenNI나 PCL 같은 오픈소스 베이스 툴은 이 PrimeSense에서 만든 공개용 드라이버를 기반으로 돌아간다. 그래서 Openni/NITE와 MS Kinect for Windows SDK가 충돌이 일어나서 둘중 하나만 실행이 되는 것이 정상이었다. 그런데 아래와 설치하면 Openni와 MS Kinect for Windows SDK를 둘 다 설치하고 사용 가능해진다.
사용자 삽입 이미지** 주의할 것은 본인의 컴퓨터가 64bit라고 할지라도 꼭 32bit용으로 설치해야 된다.**

1. 우선 키넥트가 연결된 상태라면 키넥트의 연결을 해제하고 프로그램 설치/관리에서 키넥트와 관련된 프로그램을 모두 지워준다. 이는 초기과정을 만들어주기 위한 과정이다.


2.  먼저 OpenNI와 NITE를 차례대로 설치한다. ( 최신버전이 나오면서 시리얼키를 요구하지 않는다.)
– OpenNI v1.5.4.0 (32bit)
(
http://www.openni.org/Downloads/OpenNIModules.aspx OpenNI Binaries 에서 Unstable 선택후 32bit로 받음)
– NITE v1.5.2.21 (32bit)
(
http://www.openni.org/Downloads/OpenNIModules.aspx Middleware Binaries에서 32bit용으로 받음)


3. 그 다음에 Kinect Sensor 0.92를 받아서 설치한다. 주의하실건 이 파일안에는 모든 플랫폼에 대한 드라이버가 들어있고, 이 중에서 선택해야 하는 건 x86 즉 32bit용 설치파일(즉, SensorKinect093-Bin-Win32-v5.1.2.1.msi) 이다.
– Kinect Sensor 0.92 
(
https://github.com/avin2/SensorKinect 에서 다운로드)

4. 일단은 OpenNI에 대한 환경설정이 끝났다. 이 때 키넥트를 꽂으면 기존에는 장치관리자에 Microsoft Kinect 하단에 장치가 설치되었는데 이제는 PrimeSense – K4W이라는 이름으로 장치가 설치된 것을 확인할 수 있다. 이것까지 확인하면 OpenNI 폴더의 Samples -Bin – Release폴더로 들어가서 간단한 프로그램을 실행해본다. 이게 안되면 재부팅해보고 다시 실행시켜보고, 그래도 안되면 다 지우고 다시 처음으로 돌아가야 한다. 일단 되는게 확인되었음 다시 키넥트를 뺀다.

5. 다음으로 할 것은 Kinect for windows v1.5와 Developer toolkit을 차례대로 설치한다.
– Kinect for Windows SDK v1.5
(
http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx)
– Kinect for windows Developer Toolkit
(
http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx)


여기서 키넥트를 꽂게 되면 다음과 같은 장치 관리자가 생성된다.사용자 삽입 이미지6. 여기서 재부팅을 한번 해주고 이제 궁극의 브릿지 드라이버를 설치해야 한다. zip파일을 풀고  install.bat 이라는 파일을 꼭 “관리자 모드”로 실행시켜준다.– Bridge Driver
(
http://code.google.com/p/kinect-mssdk-openni-bridge/ 에서 1.5 지원버전으로 다운로드)
사용자 삽입 이미지** 이렇게 설치하면 키넥트를 Openni/NITE 와 Microsoft Kinect for Windows SDK 둘다 동작이 된다.