ݺߣ

ݺߣShare a Scribd company logo
Kinect 설치를 위한
OpenCV, PCL 설치
2016.8.18
작업환경 : Window 8.1 64bit(X64)
Visual Studio 2013
OpenCV 컴파일에 필요한 라이브러리
1. https://sourceforge.net/projects/opencvlibrary/files/opencv-
win/3.0.0/opencv-3.0.0.exe/download
OpenCV 컴파일에 필요한 라이브러리
• 2. ‘open-cv-3.0.0.exe’를 실행시켜서 설치하는데 path를 'C:’으
로 한다.
OpenCV 컴파일에 필요한 라이브러리
• 환경 변수 설정(시스템)
OpenCV 컴파일에 필요한 라이브러리
• 3. 사용자 변수는 변수 이름을 편의상 아래와 같이 정하고 변수
값을 ‘C:opencvbuildx64vc11’로 한다. 그리고 시스템 변
수의 Path를 편집을 눌러 맨 마지막에 ‘;’를 삽입한 후
‘%OPENCV_BUILD%/bin’를 입력한다.
OpenCV 컴파일에 필요한 라이브러리
• 4. Visual Sudio 2013에서 새 프로젝트를 생성하고 ’빈 프로젝트
'를 선택한다.
OpenCV 컴파일에 필요한 라이브러리
• 4. 프로젝트의 속성을 Release로 바꿔준다.
OpenCV 컴파일에 필요한 라이브러리
• 6. c++의 추가 포함 디렉터리를 ‘C:opencvbuildinclude’로
설정한다.
OpenCV 컴파일에 필요한 라이브러리
• 7. c++의 추가 포함 라이브러리를
‘C:opencvbuildx64vc11lib’로 설정한다.
OpenCV 컴파일에 필요한 라이브러리
• 8. 아래의 그림과 같이 뒤에 d가 붙은 ‘opencv_ts300.lib’,
‘opencv_world300.lib’을 링커의 입력에 넣어준다.
OpenCV 컴파일에 필요한 라이브러리
• 9. 구성의 Release를 Debug로 바꾸고 전 과정을 다시 반복한다.
OpenCV 컴파일에 필요한 라이브러리
• 10. 구성 관리자를 열고 플랫폼을 ‘x64’로 바꿔준다.
OpenCV 컴파일에 필요한 라이브러리
• 11. 마지막으로 ‘C:opencvbuildx64vc11bin’의 ‘.dll’파일
들을 프로젝트 폴더로 복사한다.
OpenCV 컴파일에 필요한 라이브러리
#include<opencv2highguihighgui.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main(int argc, char* argv[]){
Mat img(500, 1000, CV_8UC3, Scalar(0, 0, 100));
if (img.empty()){
cout << "Error" << endl;
return -1;
}
namedWindow("Dean", CV_WINDOW_AUTOSIZE);
imshow("Dean", img);
waitKey(0);
destroyWindow("Dean");
return 0;
}
OpenCV 컴파일에 필요한 라이브러리
• 12. 위의 소스코드를 빌드한 후 아래와 같은 창이 뜨면 성공!
2. PCL 라이브러리 설치
2016.07.18
작업환경 : Window 8.1 64bit(X86)
Visual Studio 2013
PCL 컴파일에 필요한 라이브러리
• BOOST
• EIGEN
• FLANN
• QHULL
• VTK
기타
• CMake
• 환경변수 설정
Boost 빌드
1. ‘Boost 1.56.0’을 ‘C:’에 압축을 푼다.
2. ‘MSMpiSetup’, ‘msmpisdk’을 설치한다.
https://www.microsoft.com/en-
us/download/details.aspx?id=49926
3. toolsbuildexampleuser-config.jam
user-config.jam를 toolsbuild 로 카피한다.
58 line에 ‘using mpi ;’을 추가한다.
Boost 빌드
4. toolsbuildsrctoolsmpi.jam을 열고 아래 내용대로 변경
249 line
local cluster_pack_path_native = "C:Program
FilesMicrosoft MPI" ;
251 line
if [ GLOB $(cluster_pack_path_native)Inc : mpi.h ]
260 line
options = <include>$(cluster_pack_path)/Inc
Boost 빌드
5. VS2013 x64 Cross Tools Command Prompt 실행(관리자 권한)
‘C:Program Files (x86)Microsoft Visual Studio
12.0Common7ToolsShortcuts’ 여기에 위치해있다.
6. cd c:/boost_1_56_0을 입력한 후 bootstrap.bat을 입력한다.
Boost 빌드
7. ‘b2.exe --toolset=msvc-12.0 architecture=x86 address-
model=64 --build-dir=buildx64 install --prefix="C:Program
FilesBoost" -j8’을 입력한다. (오래 걸림)
Boost 빌드
8. 환경 변수를 설정한다. 이름은 ‘BOOST_ROOT’이고 변수 값은
‘C:Program FilesBoost’
EIGEN 빌드 - CMake
1. CMake를 실행해서 아래와 같이 경로를 지정한다.
빌드가 저장될 경로를 위해 Eigen폴더에 ‘build’폴더를 생성.
2. Configuration을 누르고 타겟을 아래와 같이 설정한다.
EIGEN 빌드 - CMake
3. 아래와 같이 CMAKE_INSTALL_PREFIX가 되어있는지 확인한다.
EIGEN 빌드 - CMake
4. Generate를 눌러 솔루션을 확인한다.
EIGEN 빌드
5. ‘build’폴더에 들어가 솔루션 파일을 관리자 모드로 실행된
Visual Studio로 불러온다.
EIGEN 빌드
6. 빌드를 할 필요가 없기 때문에 INSTALL을 ‘Debug’와 ‘Release’
모드로 각각 빌드를 해준다.
EIGEN 빌드
7. 환경 변수를 설정한다. 이름은 ‘EIGEN_ROOT’이고 변수 값은
‘C:Program FilesEigen’
FLANN 빌드 - CMake
1. CMake를 실행해서 아래와 같이 경로를 지정한다.
빌드가 저장될 경로를 위해 FLANN폴더에 ‘build’폴더를 생성.
2. Configuration을 누르고 타겟을 아래와 같이 설정한다.
FLANN 빌드 - CMake
3. 아래와 같이 설정을 바꿔준다. ‘Add Entry’에서 Name을
‘CMAKE_DEBUG_POSTFIX’, Type을 ‘STRING’, Value를 ‘-gd’로 해
서 OK를 누른다. 그리고 Generate를 눌러 솔루션을 확인한다.
FLANN 빌드
5. Visual Studio를 관리자모드로 실행한 후 솔루션을 불러온다.
EIGEN 빌드
7. ALL_BUILD와 INSTALL을 Debug와 Release로 각각 빌드한다.
8. 환경 변수를 설정한다. 이름은 ‘FLANN_ROOT’이고 변수 값은
‘C:Program Filesflann’
QHULL 빌드 - CMake
1. CMake를 실행해서 아래와 같이 경로를 지정한다.
빌드가 저장될 경로를 위해 QHULL폴더에 ‘build’폴더의 내용
물을 지운다.
2. Configuration을 누르고 타겟을 아래와 같이 설정한다.
QHULL 빌드 - CMake
3. 아래와 같이 설정이 되어 있는지 확인한다. ‘Add Entry’에서
Name을 ‘CMAKE_DEBUG_POSTFIX’, Type을 ‘STRING’, Value를
‘_d’로 해서 OK를 누른다. 그리고 Generate를 눌러 솔루션 확인.
QHULL 빌드
4. Visual Studio를 관리자모드로 실행한 후 솔루션을 불러온다.
QHULL 빌드
5. Libqhull의 프로젝트 속성을 연 후에 구성을 ‘모든 구성’으로 바
꿔준다. 마찬가지로 user_eg2의 프로젝트 속성도 바꿔준다.
QHULL 빌드
6. ‘ALL_BUILD’와 ‘INSTALL’을 각각 ‘Debug’와 ‘Release’모드로 빌
드해준다.
7. 환경 변수를 설정한다. 이름은 ‘QHULL_ROOT’이고 변수 값은
‘C:Program Filesqhull’
VTK 빌드 - CMake
1. CMake를 실행해서 아래와 같이 경로를 지정한다.
빌드가 저장될 경로를 위해 VTK폴더에 ‘build’폴더를 만든다.
2. Configuration을 누르고 타겟을 아래와 같이 설정한다.
(오래 걸림!!)
VTK 빌드 - CMake
3. 아래와 같이 설정이 되어 있는지 확인한다. ‘Add Entry’에서
Name을 ‘CMAKE_DEBUG_POSTFIX’, Type을 ‘STRING’, Value를 ‘-
gd’로 해서 OK를 누른다. 그리고 Generate를 눌러 솔루션 확인.
VTK 빌드
4. Visual Studio를 관리자모드로 실행한 후 솔루션을 불러온다.
VTK 빌드
5. ‘ALL_BUILD’와 ‘INSTALL’을 각각 ‘Debug’와 ‘Release’모드로 빌
드해준다. (오래 걸림!!!)
6. 환경 변수를 설정한다. 이름은 ‘VTK_DIR’이고 변수 값은
‘C:Program FilesVTK’. 그리고 Path에 ‘;%VTK_DIR%bin’을 추
가한다
PCL-master 빌드 - CMake
1. CMake를 실행해서 아래와 같이 경로를 지정한다.
빌드가 저장될 경로를 위해 VTK폴더에 ‘build’폴더를 만든다.
2. Configuration을 누르고 타겟을 아래와 같이 설정한다.
(오래 걸림!!)
PCL-master 빌드 - CMake
3. 아래와 같이 설정이 되어 있는지 확인한다.
PCL-master 빌드 - CMake
4. 다음과 같이 변경한다.
PCL-master 빌드 - CMake
4. 다음과 같이 변경한다. (연속) 그리고 Generate를 눌러 솔루션!
PCL-master 빌드
5. Visual Studio를 관리자모드로 실행한 후 솔루션을 불러온다.
PCL-master 빌드
6. ‘ALL_BUILD’와 ‘INSTALL’을 각각 ‘Debug’와 ‘Release’모드로 빌
드해준다. (오래 걸림!!!)
7. 환경 변수를 설정한다. 이름은 ‘PCL_ROOT’이고 변수 값은
‘C:Program FilesPCL’. 그리고 Path에 ‘;%PCL_ROOT%bin’을
추가한다.
PCL 예제 실행 - 소스코드http://pointclouds.org/documentation/tutorials/statistical_outlier.php#statistical-outlier-removal
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/filters/statistical_outlier_removal.h>
int
main (int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered (new pcl::PointCloud<pcl::PointXYZ>);
// Fill in the cloud data
pcl::PCDReader reader;
// Replace the path below with the path where you saved your file
reader.read<pcl::PointXYZ> ("table_scene_lms400.pcd", *cloud);
std::cerr << "Cloud before filtering: " << std::endl;
std::cerr << *cloud << std::endl;
PCL 예제 실행 – 소스코드(연속)
// Create the filtering object
pcl::StatisticalOutlierRemoval<pcl::PointXYZ> sor;
sor.setInputCloud (cloud);
sor.setMeanK (50);
sor.setStddevMulThresh (1.0);
sor.filter (*cloud_filtered);
std::cerr << "Cloud after filtering: " << std::endl;
std::cerr << *cloud_filtered << std::endl;
pcl::PCDWriter writer;
writer.write<pcl::PointXYZ> ("table_scene_lms400_inliers.pcd", *cloud_filtered, false);
sor.setNegative (true);
sor.filter (*cloud_filtered);
writer.write<pcl::PointXYZ> ("table_scene_lms400_outliers.pcd", *cloud_filtered, false);
return (0);
}
PCL 예제 실행
1. Sublime text에 위의 소스코드를 입력한 후 저장한다.
PCL 예제 실행 - 소스코드
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(statistical_removal)
find_package(PCL 1.2 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (statistical_removal statistical_removal.cpp)
target_link_libraries (statistical_removal ${PCL_LIBRARIES})
PCL 예제 실행
2. Cpp가 저장된 폴더에 메모장을 ‘CMakeLists’의 이름으로 생성
한 뒤 아래의 소스코드를 붙여 넣고 저장한다.
PCL 예제 실행
3. ‘build’ 폴더를 만든다.
4. CMake를 실행시켜 경로를 아래와 같이 한다.
5. Configure와 Generate를 순서대로 누른다.
PCL 예제 실행
6. 솔루션 파일을 열어 ALL_BUILD를 ‘Debug’와 ‘Release’ 모드 중
하나만 선택하고 빌드한다.
7. 아래의 폴더에 pcd파일을 옮기고 exe파일을 실행시킨다.

More Related Content

Kinect 사용을 위한 OpenCV, PCL 라이브러리 설치

  • 1. Kinect 설치를 위한 OpenCV, PCL 설치 2016.8.18 작업환경 : Window 8.1 64bit(X64) Visual Studio 2013
  • 2. OpenCV 컴파일에 필요한 라이브러리 1. https://sourceforge.net/projects/opencvlibrary/files/opencv- win/3.0.0/opencv-3.0.0.exe/download
  • 3. OpenCV 컴파일에 필요한 라이브러리 • 2. ‘open-cv-3.0.0.exe’를 실행시켜서 설치하는데 path를 'C:’으 로 한다.
  • 4. OpenCV 컴파일에 필요한 라이브러리 • 환경 변수 설정(시스템)
  • 5. OpenCV 컴파일에 필요한 라이브러리 • 3. 사용자 변수는 변수 이름을 편의상 아래와 같이 정하고 변수 값을 ‘C:opencvbuildx64vc11’로 한다. 그리고 시스템 변 수의 Path를 편집을 눌러 맨 마지막에 ‘;’를 삽입한 후 ‘%OPENCV_BUILD%/bin’를 입력한다.
  • 6. OpenCV 컴파일에 필요한 라이브러리 • 4. Visual Sudio 2013에서 새 프로젝트를 생성하고 ’빈 프로젝트 '를 선택한다.
  • 7. OpenCV 컴파일에 필요한 라이브러리 • 4. 프로젝트의 속성을 Release로 바꿔준다.
  • 8. OpenCV 컴파일에 필요한 라이브러리 • 6. c++의 추가 포함 디렉터리를 ‘C:opencvbuildinclude’로 설정한다.
  • 9. OpenCV 컴파일에 필요한 라이브러리 • 7. c++의 추가 포함 라이브러리를 ‘C:opencvbuildx64vc11lib’로 설정한다.
  • 10. OpenCV 컴파일에 필요한 라이브러리 • 8. 아래의 그림과 같이 뒤에 d가 붙은 ‘opencv_ts300.lib’, ‘opencv_world300.lib’을 링커의 입력에 넣어준다.
  • 11. OpenCV 컴파일에 필요한 라이브러리 • 9. 구성의 Release를 Debug로 바꾸고 전 과정을 다시 반복한다.
  • 12. OpenCV 컴파일에 필요한 라이브러리 • 10. 구성 관리자를 열고 플랫폼을 ‘x64’로 바꿔준다.
  • 13. OpenCV 컴파일에 필요한 라이브러리 • 11. 마지막으로 ‘C:opencvbuildx64vc11bin’의 ‘.dll’파일 들을 프로젝트 폴더로 복사한다.
  • 14. OpenCV 컴파일에 필요한 라이브러리 #include<opencv2highguihighgui.hpp> #include<iostream> using namespace std; using namespace cv; int main(int argc, char* argv[]){ Mat img(500, 1000, CV_8UC3, Scalar(0, 0, 100)); if (img.empty()){ cout << "Error" << endl; return -1; } namedWindow("Dean", CV_WINDOW_AUTOSIZE); imshow("Dean", img); waitKey(0); destroyWindow("Dean"); return 0; }
  • 15. OpenCV 컴파일에 필요한 라이브러리 • 12. 위의 소스코드를 빌드한 후 아래와 같은 창이 뜨면 성공!
  • 16. 2. PCL 라이브러리 설치 2016.07.18 작업환경 : Window 8.1 64bit(X86) Visual Studio 2013
  • 17. PCL 컴파일에 필요한 라이브러리 • BOOST • EIGEN • FLANN • QHULL • VTK 기타 • CMake • 환경변수 설정
  • 18. Boost 빌드 1. ‘Boost 1.56.0’을 ‘C:’에 압축을 푼다. 2. ‘MSMpiSetup’, ‘msmpisdk’을 설치한다. https://www.microsoft.com/en- us/download/details.aspx?id=49926 3. toolsbuildexampleuser-config.jam user-config.jam를 toolsbuild 로 카피한다. 58 line에 ‘using mpi ;’을 추가한다.
  • 19. Boost 빌드 4. toolsbuildsrctoolsmpi.jam을 열고 아래 내용대로 변경 249 line local cluster_pack_path_native = "C:Program FilesMicrosoft MPI" ; 251 line if [ GLOB $(cluster_pack_path_native)Inc : mpi.h ] 260 line options = <include>$(cluster_pack_path)/Inc
  • 20. Boost 빌드 5. VS2013 x64 Cross Tools Command Prompt 실행(관리자 권한) ‘C:Program Files (x86)Microsoft Visual Studio 12.0Common7ToolsShortcuts’ 여기에 위치해있다. 6. cd c:/boost_1_56_0을 입력한 후 bootstrap.bat을 입력한다.
  • 21. Boost 빌드 7. ‘b2.exe --toolset=msvc-12.0 architecture=x86 address- model=64 --build-dir=buildx64 install --prefix="C:Program FilesBoost" -j8’을 입력한다. (오래 걸림)
  • 22. Boost 빌드 8. 환경 변수를 설정한다. 이름은 ‘BOOST_ROOT’이고 변수 값은 ‘C:Program FilesBoost’
  • 23. EIGEN 빌드 - CMake 1. CMake를 실행해서 아래와 같이 경로를 지정한다. 빌드가 저장될 경로를 위해 Eigen폴더에 ‘build’폴더를 생성. 2. Configuration을 누르고 타겟을 아래와 같이 설정한다.
  • 24. EIGEN 빌드 - CMake 3. 아래와 같이 CMAKE_INSTALL_PREFIX가 되어있는지 확인한다.
  • 25. EIGEN 빌드 - CMake 4. Generate를 눌러 솔루션을 확인한다.
  • 26. EIGEN 빌드 5. ‘build’폴더에 들어가 솔루션 파일을 관리자 모드로 실행된 Visual Studio로 불러온다.
  • 27. EIGEN 빌드 6. 빌드를 할 필요가 없기 때문에 INSTALL을 ‘Debug’와 ‘Release’ 모드로 각각 빌드를 해준다.
  • 28. EIGEN 빌드 7. 환경 변수를 설정한다. 이름은 ‘EIGEN_ROOT’이고 변수 값은 ‘C:Program FilesEigen’
  • 29. FLANN 빌드 - CMake 1. CMake를 실행해서 아래와 같이 경로를 지정한다. 빌드가 저장될 경로를 위해 FLANN폴더에 ‘build’폴더를 생성. 2. Configuration을 누르고 타겟을 아래와 같이 설정한다.
  • 30. FLANN 빌드 - CMake 3. 아래와 같이 설정을 바꿔준다. ‘Add Entry’에서 Name을 ‘CMAKE_DEBUG_POSTFIX’, Type을 ‘STRING’, Value를 ‘-gd’로 해 서 OK를 누른다. 그리고 Generate를 눌러 솔루션을 확인한다.
  • 31. FLANN 빌드 5. Visual Studio를 관리자모드로 실행한 후 솔루션을 불러온다.
  • 32. EIGEN 빌드 7. ALL_BUILD와 INSTALL을 Debug와 Release로 각각 빌드한다. 8. 환경 변수를 설정한다. 이름은 ‘FLANN_ROOT’이고 변수 값은 ‘C:Program Filesflann’
  • 33. QHULL 빌드 - CMake 1. CMake를 실행해서 아래와 같이 경로를 지정한다. 빌드가 저장될 경로를 위해 QHULL폴더에 ‘build’폴더의 내용 물을 지운다. 2. Configuration을 누르고 타겟을 아래와 같이 설정한다.
  • 34. QHULL 빌드 - CMake 3. 아래와 같이 설정이 되어 있는지 확인한다. ‘Add Entry’에서 Name을 ‘CMAKE_DEBUG_POSTFIX’, Type을 ‘STRING’, Value를 ‘_d’로 해서 OK를 누른다. 그리고 Generate를 눌러 솔루션 확인.
  • 35. QHULL 빌드 4. Visual Studio를 관리자모드로 실행한 후 솔루션을 불러온다.
  • 36. QHULL 빌드 5. Libqhull의 프로젝트 속성을 연 후에 구성을 ‘모든 구성’으로 바 꿔준다. 마찬가지로 user_eg2의 프로젝트 속성도 바꿔준다.
  • 37. QHULL 빌드 6. ‘ALL_BUILD’와 ‘INSTALL’을 각각 ‘Debug’와 ‘Release’모드로 빌 드해준다. 7. 환경 변수를 설정한다. 이름은 ‘QHULL_ROOT’이고 변수 값은 ‘C:Program Filesqhull’
  • 38. VTK 빌드 - CMake 1. CMake를 실행해서 아래와 같이 경로를 지정한다. 빌드가 저장될 경로를 위해 VTK폴더에 ‘build’폴더를 만든다. 2. Configuration을 누르고 타겟을 아래와 같이 설정한다. (오래 걸림!!)
  • 39. VTK 빌드 - CMake 3. 아래와 같이 설정이 되어 있는지 확인한다. ‘Add Entry’에서 Name을 ‘CMAKE_DEBUG_POSTFIX’, Type을 ‘STRING’, Value를 ‘- gd’로 해서 OK를 누른다. 그리고 Generate를 눌러 솔루션 확인.
  • 40. VTK 빌드 4. Visual Studio를 관리자모드로 실행한 후 솔루션을 불러온다.
  • 41. VTK 빌드 5. ‘ALL_BUILD’와 ‘INSTALL’을 각각 ‘Debug’와 ‘Release’모드로 빌 드해준다. (오래 걸림!!!) 6. 환경 변수를 설정한다. 이름은 ‘VTK_DIR’이고 변수 값은 ‘C:Program FilesVTK’. 그리고 Path에 ‘;%VTK_DIR%bin’을 추 가한다
  • 42. PCL-master 빌드 - CMake 1. CMake를 실행해서 아래와 같이 경로를 지정한다. 빌드가 저장될 경로를 위해 VTK폴더에 ‘build’폴더를 만든다. 2. Configuration을 누르고 타겟을 아래와 같이 설정한다. (오래 걸림!!)
  • 43. PCL-master 빌드 - CMake 3. 아래와 같이 설정이 되어 있는지 확인한다.
  • 44. PCL-master 빌드 - CMake 4. 다음과 같이 변경한다.
  • 45. PCL-master 빌드 - CMake 4. 다음과 같이 변경한다. (연속) 그리고 Generate를 눌러 솔루션!
  • 46. PCL-master 빌드 5. Visual Studio를 관리자모드로 실행한 후 솔루션을 불러온다.
  • 47. PCL-master 빌드 6. ‘ALL_BUILD’와 ‘INSTALL’을 각각 ‘Debug’와 ‘Release’모드로 빌 드해준다. (오래 걸림!!!) 7. 환경 변수를 설정한다. 이름은 ‘PCL_ROOT’이고 변수 값은 ‘C:Program FilesPCL’. 그리고 Path에 ‘;%PCL_ROOT%bin’을 추가한다.
  • 48. PCL 예제 실행 - 소스코드http://pointclouds.org/documentation/tutorials/statistical_outlier.php#statistical-outlier-removal #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #include <pcl/filters/statistical_outlier_removal.h> int main (int argc, char** argv) { pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>); pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered (new pcl::PointCloud<pcl::PointXYZ>); // Fill in the cloud data pcl::PCDReader reader; // Replace the path below with the path where you saved your file reader.read<pcl::PointXYZ> ("table_scene_lms400.pcd", *cloud); std::cerr << "Cloud before filtering: " << std::endl; std::cerr << *cloud << std::endl;
  • 49. PCL 예제 실행 – 소스코드(연속) // Create the filtering object pcl::StatisticalOutlierRemoval<pcl::PointXYZ> sor; sor.setInputCloud (cloud); sor.setMeanK (50); sor.setStddevMulThresh (1.0); sor.filter (*cloud_filtered); std::cerr << "Cloud after filtering: " << std::endl; std::cerr << *cloud_filtered << std::endl; pcl::PCDWriter writer; writer.write<pcl::PointXYZ> ("table_scene_lms400_inliers.pcd", *cloud_filtered, false); sor.setNegative (true); sor.filter (*cloud_filtered); writer.write<pcl::PointXYZ> ("table_scene_lms400_outliers.pcd", *cloud_filtered, false); return (0); }
  • 50. PCL 예제 실행 1. Sublime text에 위의 소스코드를 입력한 후 저장한다.
  • 51. PCL 예제 실행 - 소스코드 cmake_minimum_required(VERSION 2.8 FATAL_ERROR) project(statistical_removal) find_package(PCL 1.2 REQUIRED) include_directories(${PCL_INCLUDE_DIRS}) link_directories(${PCL_LIBRARY_DIRS}) add_definitions(${PCL_DEFINITIONS}) add_executable (statistical_removal statistical_removal.cpp) target_link_libraries (statistical_removal ${PCL_LIBRARIES})
  • 52. PCL 예제 실행 2. Cpp가 저장된 폴더에 메모장을 ‘CMakeLists’의 이름으로 생성 한 뒤 아래의 소스코드를 붙여 넣고 저장한다.
  • 53. PCL 예제 실행 3. ‘build’ 폴더를 만든다. 4. CMake를 실행시켜 경로를 아래와 같이 한다. 5. Configure와 Generate를 순서대로 누른다.
  • 54. PCL 예제 실행 6. 솔루션 파일을 열어 ALL_BUILD를 ‘Debug’와 ‘Release’ 모드 중 하나만 선택하고 빌드한다. 7. 아래의 폴더에 pcd파일을 옮기고 exe파일을 실행시킨다.