Configure C++ Samples With Optional Dependencies
이 튜토리얼에서는 CMake를 사용하여 Zivid C++ 샘플의 선택적 종속성을 구성하는 방법을 보여줍니다.
Requirements
Optional requirements
일부 샘플은 특히 외부 라이브러리에 의존합니다.
참고
다음 지침은 이러한 버전의 종속성으로 테스트되었습니다.
Visual Studio 2019 이상
CMake 3.24 이상
PCL 1.12.1
Eigen 3.4.0
OpenCV 4.7.0
다른 버전을 사용하는 경우 문제가 발생할 수 있습니다.
실행하려는 샘플 프로그램에 따라 필요한 종속성을 설치하세요. 아래 표를 참조하세요.
Sample program |
PCL |
Eigen |
OpenCV |
Halcon |
|---|---|---|---|---|
ReadPCLVis3D |
YES |
|||
CaptureWritePCLVis3D |
YES |
|||
CaptureAndVisualizeNormals |
YES |
|||
StitchByTransformation |
||||
StitchByTransformationFromZDF |
||||
MaskPointCloud |
YES |
YES |
||
ROIBoxViaCheckerboard |
YES |
|||
UtilizeHandEyeCalibration |
YES |
|||
PoseConversions |
YES |
|||
ROIBoxViaArucoMarker |
YES |
YES |
||
CaptureUndistort2D |
YES |
|||
CreateDepthMap |
YES |
|||
ProjectAndFindMarker |
YES |
|||
ReprojectPoints |
YES |
|||
ReadProjectAndCaptureImage |
YES |
|||
GammaCorrection |
YES |
|||
AllocateMemoryForPointCloudData |
YES |
|||
TransformPointCloudViaCheckerboard |
YES |
|||
TransformPointCloudViaArucoMarker |
YES |
|||
CaptureHalconViaGenICam |
YES |
|||
CaptureHalconViaZivid |
YES |
패키지 관리자에서 Eigen 3를 설치하려면 다음을 실행하세요.
sudo apt install libeigen3-dev
zivid-cpp-samples에서 생성한 빌드 디렉토리로 이동하여 다음을 실행합니다.
mkdir build
cd build
cmake -DEIGEN3_INCLUDE_DIR=/usr/include/eigen3 -DUSE_OPENCV=OFF -DUSE_PCL=OFF ../source
cmake --build .
다음을 실행하여 패키지 관리자에서 PCL을 설치합니다.
sudo apt install libpcl-dev
zivid-cpp-samples에서 생성한 빌드 디렉토리로 이동하여 다음을 실행합니다.
mkdir build
cd build
cmake -DUSE_PCL=ON -DUSE_EIGEN3=OFF -DUSE_OPENCV=OFF ../source
cmake --build .
패키지 관리자에서 OpenCV를 설치하려면 다음을 실행합니다.
sudo apt install libopencv-dev clang-tidy
zivid-cpp-samples에서 생성한 빌드 디렉토리로 이동하여 다음을 실행합니다.
mkdir build
cd build
cmake -DUSE_OPENCV=ON -DUSE_EIGEN3=OFF -DUSE_PCL=OFF ../source
cmake --build .
http://eigen.tuxfamily.org/ 에서 Eigen의 최신 안정 버전을 다운로드하고 원하는 위치에 폴더를 추출하세요. CMake 프로젝트를 구성할 때 Eigen을 포함하여 해당 프로젝트에 종속된 샘플을 구성하세요.
zivid-cpp-samples에서 생성한 빌드 디렉토리로 이동하여 다음을 실행합니다.
cmake -DEIGEN3_INCLUDE_DIR=<path> -DUSE_OPENCV=OFF -DUSE_PCL=OFF ../source
여기서 <path> 는 Eigen을 설치한 전체 경로입니다. 예 C:/Program Files/Eigen
https://github.com/PointCloudLibrary/pcl/releases에서 .exe 선택하여 미리 빌드된 PCL 바이너리를 다운로드하고 설치하세요. 타사 라이브러리 설치 옵션을 선택하세요.
Zivid PCL 코드 샘플을 구성하려면 먼저 PATH 시스템 변수에 일부 설정을 포함해야 합니다. PC에서 Control Panel → System and Security → System → Advanced System Settings → Environment Variables 로 이동합니다. System variables 에서 Path 변수를 선택하고 Edit 을 클릭합니다.
Edit environment variable 창에서 New 를 클릭하고 PCL 바이너리 및 OpenNI2(타사 라이브러리)에 대한 경로를 추가합니다.
C:\Program Files\PCL 1.12.1\bin
C:\Program Files\OpenNI2\Tools
Program Files 에 PCL 1.12.1과 OpenNI2를 설치한 경우, 변경 사항을 적용하려면 Windows 계정에서 로그아웃했다가 다시 로그인해야 할 수 있습니다.
경고
VTK와 같은 일부 타사 PCL 라이브러리에 수동으로 연결해야 할 수도 있습니다. 오류가 발생하면 PATH 시스템 변수에 라이브러리 바이너리 경로를 추가하세요. 예를 들어 VTK의 경우, Program Files 에 PCL 1.12.1을 설치했다면 C:/Program Files/PCL 1.12.1/3rdParty/VTK/bin 를 추가합니다.
CMake 프로젝트를 구성할 때 PCL 경로는 이미 구성되어 있어야 합니다.
https://opencv.org/releases/ 에서 미리 빌드된 OpenCV 바이너리를 다운로드하여 설치합니다. 원하는 위치에 압축을 풉니다. 예:
C:\Users\Public
Zivid OpenCV 코드 샘플을 구성하려면 먼저 PATH 시스템 변수에 일부 설정을 포함해야 합니다. PC에서 Control Panel → System and Security → System → Advanced System Settings → Environment Variables 로 이동합니다. System variables 에서 Path 변수를 선택하고 Edit 을 클릭합니다.
Edit environment variable 창에서 New 클릭하고 OpenCV 바이너리에 대한 경로를 추가합니다. 예:
C:\Program Files\opencv\build\x64\vc16\bin
OpenCV 4.7.0을 설치하고 C:/Program Files/opencv 에 압축을 풀었다면,
경고
변경 사항을 적용하려면 Windows 계정에서 로그아웃한 다음 다시 로그인해야 할 수도 있습니다.
CMake 프로젝트를 구성할 때, 해당 프로젝트에 종속된 샘플을 구성하기 위해 OpenCV를 포함합니다.
zivid-cpp-samples에서 생성한 빌드 디렉토리로 이동하여 다음을 실행합니다.
cmake -DOpenCV_DIR=<path> -DUSE_EIGEN3=OFF -DUSE_PCL=OFF ../source
여기서 <path> OpenCV 빌드 폴더의 전체 경로입니다. 예 C:/Program Files/opencv/build
Halcon C++ 샘플을 실행하려면 PC에 Halcon이 설치되어 있어야 합니다. 자세한 내용은 Install Zivid + HALCON for Windows 를 참조하세요.
Halcon을 설치한 후 Halcon 샘플을 사용하도록 CMake를 구성합니다.
여러 종속성을 한 번에 구성하려면 CMake에서 여러 종속성을 동시에 추가하기만 하면 됩니다. 예를 들어 Eigen, PCL, OpenCV가 필요한 모든 샘플을 사용하려면 다음을 실행하면 됩니다.
cmake -DEIGEN3_INCLUDE_DIR=<path-to-eigen> -DUSE_PCL=ON -DOpenCV_DIR=<path-to-opencv> ../source
<path-to-eigen> 및 <path-to-opencv> 는 Eigen 및 OpenCV 폴더의 경로입니다.