티스토리 뷰

크리에이티브 커먼즈 라이선스
Creative Commons License


키넥트를 활용해 프로젝트를 진행하는 방법에는 2가지루트가 있다.

첫번째 루트는 MS에서 제공해주는 Kinect SDK를 이용하는 것이고,

두번째 루트는 OpenNI라고해서, 사용자들끼리 만든? 아무튼 출처는 정확히 모르겠으나 MS에서 만들지 않은 것을 이용하는 것이다.

OpenNI는 MS에서 제공하는 Kinect SDK보다 이전부터 활용되어 왔기때문에, 구글링을 했을 경우 정보가 더 많다.

하지만 Kinect SDK와 OpenNI간에는 차이가 많으므로 자기가 해야할 프로젝트 성격에 따라서 선택하면 좋을 것 같다.

차이점이 궁금하다면 Kinect beta버전시절에 올라온 포스팅이지만 참고할만은 하므로 아래 내용을 참조하자.

http://labs.vectorform.com/2011/06/windows-kinect-sdk-vs-openni-2/



아무튼 Kinect와 Flash를 연동하려고 프로젝트를 계획중인데 OpenNI를 이용해서 Kinect와 Flash를 연동하는 as3Kinect 라는 것이 있어서 OpenNI를 이용하기로 결정했다. as3Kinect를 이용하기 위해서, http://luckylarry.co.uk/ 라는 블로그를 참고했는데, 참고하다보니 여기서 사용한 OpenNI 버전들을 사용하게 되었다( 기존보다 낮은버전 )





기본설정을 위한 준비물

openni-win32-1.3.3.6-dev.msi

SensorKinect-Win-OpenSource32-5.0.3.4.msi

nite-win32-1.4.2.4-dev.msi

sensor-win32-5.0.4.3-redist.msi


msvcp100.dll

msvcr100.dll


준비물 다운로드링크


openni-win32-1.3.3.6-dev.alz

openni-win32-1.3.3.6-dev.a00

 SensorKinect-Win-OpenSource32-5.0.3.4.msi

nite-win32-1.4.2.4-dev.alz

nite-win32-1.4.2.4-dev.a00

sensor-win32-5.0.4.3-redist.msi

msvcp100.dll

msvcr100.dll



기본설정


1. 일단 아래 4개의 프로그램을 순서대로 설치한다. ( x64를 사용하더라도 x86버전의 OpenNI를 설치했다. 이유는 as3kinect가 32bit만 현재지원하는 것 같았기 때문... )


openni-win32-1.3.3.6-dev.msi

SensorKinect-Win-OpenSource32-5.0.3.4.msi

nite-win32-1.4.2.4-dev.msi

sensor-win32-5.0.4.3-redist.msi


2. 키넥트를 연결한다. (전원, USB를 모두 연결)


키넥트를 연결하면 Plug & Play가 작동되면서 장치들이 설치될 것이다. 아래와 같이 PrimeSense라는게 3개 잡히면 정상적으로 설치된 것이다.




3. xml파일들을 수정해주어야 한다.

수정해주어야 할 xml 파일은 2개인데, 

C:\Program Files (x86)\OpenNI\Data\SamplesConfig.xml 파일 (혹은 C:\Program Files\OpenNI\Data\SamplesConfig.xml ) 과 C:\Program Files (x86)\PrimeSense\NITE\Data\Sample-User.xml 파일 (혹은 C:\Program Files\PrimeSense\NITE\Data\Sample-User.xml ) 이다.


위 파일은 읽기전용 일 수 있으므로 파일속성에서 쓰기권한을 줘야한다.


아래와 같이 두개의 파일의 key와 밴더를 수정해준다.


vendor="PrimeSense" key="0KOIk2JeIBYClPWVnMoRKn5cdY4="







4. 시작->모든프로그램->OpenNI->Samples->NiViewer 를 실행해 본다.


여기서는 아마 x64이냐 x86이냐에 따라 결과가 다를 것 같은데, x86일 경우 정상적으로 실행될 것이다. x64의 경우 msvcp100.dll 혹은 msvcr100.dll 이 없다고 종료될 것이다. 다운로드 받은 msvcp100.dll, msvcr100.dll를 C:\Windows\System32 와 C:\Windows\SysWOW64 에 복사해주고 다시 실행시켜본다.


아래와 같이 실행되면 정상적으로 실행된 것이다.






저작자 표시 비영리 변경 금지
신고
댓글
  • 프로필사진 부모님께효도르 플래쉬와 키넥트를 연동해보려고 알아보다가 궁금한게 있어서 파도파도타고 이렇게 질문드립니다.
    openNI를 이용하신다고 했는데 openNI 대신 kinect SDK를 이용해도 문제가 없을까요?
    2013.05.08 16:21 신고
  • 프로필사진 Jake Yoon 제가 사용했던 방법은 OpenNI밖에 사용해보질 않아서 확답은 드리기 힘든 것 같습니다. 그리고 특별한 이유가 없는한 as3Kinect를 활용하시는 것이 연동구현하시기에 편하실 것이라는 의견을 드립니다. 2013.05.09 00:51 신고
댓글쓰기 폼