Ubuntu 12.04.3 LTS
OpenNI 1.5.8.5
Sensorkinect 5.1.2.1
NITE 1.5.2.21
PCL 1.6
- openjdk 설치
$ sudo apt-get install openjdk-6-jdk
- 기타 의존 패키지들 설치
$ sudo apt-get update
$ sudo apt-get install mono-complete git-core cmake freeglut3-dev pkg-config build-essential libxmu-dev libxi-dev libusb-1.0-0-dev doxygen graphviz
libudev-dev
- OpenNI 설치
$ mkdir ~/kinect && cd ~/kinect
$ git clone -b unstable https://github.com/OpenNI/OpenNI.git
$ cd OpenNI/Platform/Linux/CreateRedist
$ ./RedistMaker
$ cd ../Redist/OpenNI-Bin-Dev-Linux-x86-v1.5.8.5/
$ sudo ./install.sh
- SensorKinect 드라이버 설치
$ cd ~/kinect
$ git clone https://github.com/avin2/SensorKinect.git
$ cd SensorKinect/Bin
$ tar xvfj SensorKinect093-Bin-Linux-x86-v5.1.2.1.tar.bz2
$ cd Sensor-Bin-Linux-x86-v5.1.2.1
$ sudo ./install.sh
- NITE 미들웨어 설치
다운로드 (http://www.mira-project.org/downloads/3rdparty/bin-linux/)
$ cd ~/kinect
$ mkdir NITE && cd NITE
$ tar -xvjpf nite-bin-linux-x86-v1.5.2.21.tar.bz2$ cd NITE-Bin-Dev-Linux-x86-v1.5.2.21
$ sudo ./install.sh
- OpenNI 샘플
$ cd ~/kinect/OpenNI/Platform/Linux/Bin/x86-Release
- PrimeSense 샘플
$ cd ~/kinect/NITE/NITE-Bin-Dev-Linux-x64-v1.5.2.21/Samples/Bin/x86-Release
=====================================================
- Point Cloud Library 패키지 설치
$ sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
$ sudo apt-get update
$ sudo apt-get install libpcl-all
=====================================================
- OpenNI 재설치
$ cd ~/kinect/OpenNI/Platform/Linux/Redist/OpenNI-Bin-Dev-Linux-x86-v1.5.8.5
$ sudo ./install.sh
- SensorKinect 재설치
$ cd ~/kinect/SensorKinect/Bin/Sensor-Bin-Linux-x86-v5.1.2.1
$ sudo ./install.sh
=====================================================
$ cd ~
$ mkdir project && cd project
$ mkdir point_viewer && cd point_viewer
$ vi point_viewer.cpp
$ vi CMakeLists.txt
$ mkdir build && cd build
$ cmake ../
$ make
$ ./point_viewer
================================================================
pcl_filters - 3D 점군 데이터에서 이상값과 노이즈 제거 등의 필터링
pcl_features - 점군 데이터로부터 3D 특징 추정 (feature estimation) 을 위한 수많은 자료 구조와 방법들 (surface normals, curvatures, boundary point estimation, moment invariants, principal curvatures, PFH & FPFH descriptors, spin images, integral images, NARF descriptors, RIFT, RSD, VFH, SHOT 등)
pcl_keypoints - Keypoint (or interest point) 을 검출하는 알고리즘 구현 (BRISK, Harris Corner, NARF, SIFT, SUSAN 등)
pcl_registration - 여러 데이터셋을 합쳐 큰 모델로 만드는 registration 작업 (ICP 등)
pcl_kdtree - 빠른 최근거리 이웃을 탐색하는 FLANN 라이브러리를 사용한 kdtree 자료 구조
pcl_octree - 점군 데이터로부터 계층 트리 구조를 구성하는 방법
pcl_segmentation - 점군으로부터 클러스터들로 구분하는 알고리즘들
pcl_sample_consensus - 선, 평면, 실린더 등의 모델 계수 추정을 위한 RANSAC 등의 알고리즘들
pcl_surface - 3D 표면 복원 기법들 (meshing, convex hulls, Moving Least Squares 등)
pcl_range_image - range image (or depth map) 을 나타내고 처리하는 방법
pcl_io - OpenNI 호환 depth camera 로부터 점군 데이터를 읽고 쓰는 방법
pcl_visualization - 3D 점군 데이터를 처리하는 알고리즘의 결과를 시각화
PCL 의 내부 알고리즘을 사용하는 프로그램은 일반적으로 다음과 같은 순서로 처리됩니다.
- 처리 객체 생성 (filter, features, segmentation 등)
- 입력 점군 데이터를 처리 모듈로 전달하도록 setInputCloud 메소드를 사용하여 지정
- 매개변수 설정
- 출력을 계산하기 위해 compute 호출
# 참고사이트
- OpenNI
http://mitchtech.net/ubuntu-kinect-openni-primesense/
http://cviz.wordpress.com/2013/05/18/openni-sensorkinect/
http://cafe.naver.com/openkinect/1313
- PCL
http://blog.daum.net/openpcl/6
http://blog.daum.net/openpcl/14
http://www.pointclouds.org/documentation/tutorials/openni_grabber.php#openni-grabber
'Programming Language > Kinect & PCL' 카테고리의 다른 글
Trouble Shooting (0) | 2014.09.28 |
---|---|
PCL 1.7 설치 (0) | 2014.09.15 |
PCL-1.7 설치 참고 사이트 (0) | 2014.09.05 |
TROUBLE SHOOTING (0) | 2014.08.25 |
PCL 예제 프로그램 짜보기 (0) | 2014.07.04 |