CMake を使用して C++ サンプルを構成し、Windows の Visual Studio でビルドする
To configure and build the Zivid C++ Samples on Windows, clone the samples repository, configure the solution with CMake, then build and run it in Visual Studio. This tutorial shows how to configure the Zivid C++ Samples with CMake and then build them with Visual Studio in Windows.
要件
オプションの要件
一部のサンプルは、特に次のような外部ライブラリに依存しています。
注釈
以下の手順は、以下のバージョンの依存関係でテスト済みです。
Visual Studio 2019 以降
CMake 3.24 以降
PCL 1.12.1
Eigen 3.4.0
OpenCV 4.7.0
他のバージョンを使用している場合、問題が発生する可能性があります。
手順
C++ サンプルのクローンを作成する
GitHub Zivid C++ Samples リポジトリのクローンを作成します。クローンを作成するには、キーボードの Win + R キーを押してコマンド プロンプトを起動し、「cmd」と入力して Enter を押します。
リポジトリをクローンしたい場所に移動します。例:
cd C:\Users\Public
次に、以下のコマンドを実行します。
git clone https://github.com/zivid/zivid-cpp-samples
CMake を使用してソリューションを構成する
コマンド プロンプトまたは CMake GUI を介して CMake を実行します。
Command Prompt
zivid-cpp-samples ディレクトリ内にビルドディレクトリを作成し、以下のコマンドを実行してソリューションを設定します。
mkdir build && cd build
cmake -DUSE_EIGEN3=OFF -DUSE_OPENCV=OFF -DUSE_PCL=OFF ../source
Tip
Make sure cmake is in your system PATH to use the cmake command.
See the "Add CMake to the system PATH" dropdown below for how to add CMake to your system PATH.
CMake をシステム PATH に追加する
PC で、 Control Panel → System and Security → System → Advanced System Settings → Environment Variables に移動します。システム変数 で、 Path 変数を選択し、 Edit をクリックします。
Edit environment variable ウィンドウで New をクリックし、CMake バイナリへのパスを追加します。例:
C:\Program Files\CMake\bin
Program Files に CMake をインストールしている場合。
警告
変更を有効にするには、Windows アカウントからサインアウトし、再度サインインする必要がある場合があります。
生成された Visual Studio ソリューション ZividCppSamples.sln をファイル エクスプローラーで開き、サンプルをさらにビルドします。
CMake GUI
CMake GUI を開き、ビルド フォルダーのソース フォルダーと出力先を選択します。
Configure をクリックします。プロジェクトのジェネレーターを指定し、(オプションの) プラットフォームが x64 であることを確認します。 Finish をクリックします。
もう一度 Configure をクリックします。
CMake エラーで OK をクリックし、変数 USE_EIGEN3 、 USE_OPENCV および USE_PCL を無効にして、これらの依存関係なしでソリューションを構成します。
最後に Configure をもう一度クリックし、 Generate と Open Project をクリックして Visual Studio ソリューションを開きます。
ソリューションをビルドする
Visual Studio で、ビルド構成を Debug から Release に変更してください。Debug ビルドではコンパイラの最適化が無効になり、パフォーマンスが著しく低下するため、ベンチマークや本番環境での使用には適していません。
Ctrl + Shift + B を押してソリューションをビルドします。
サンプルプログラムを実行する
Release フォルダーに移動し、ファイル エクスプローラーで exe をダブルクリックするか、コマンド プロンプトを使用してサンプル プログラムを実行します。例:
.\CaptureVis3D.exe
サンプルデータを必要とするサンプルの実行
一部のサンプルでは、点群、ファイルカメラ、変換など、実行に追加データが必要です。ダウンロードとインストールの方法については サンプルデータ を参照してください。
オプションの依存関係を使用したサンプルの構成
Some of the samples depend on Point Cloud Library, Eigen, OpenCV, and/or Halcon. If you want to run samples with one or more of these dependencies, follow the instructions in the "Optional dependencies" dropdown below.
オプションの依存関係
実行するサンプルプログラムに基づいて必要な依存関係をインストールします。以下の表を参照してください。
サンプルプログラム |
PCL |
Eigen |
OpenCV |
OpenCV (CUDA) |
Halcon |
|---|---|---|---|---|---|
ReadPCLVis3D |
はい |
||||
CaptureWritePCLVis3D |
はい |
||||
CaptureAndVisualizeNormals |
はい |
||||
StitchByTransformation |
はい |
||||
StitchByTransformationFromZDF |
はい |
||||
StitchViaLocalPointCloudRegistration |
はい |
||||
StitchContinuouslyRotatingObject |
はい |
||||
StitchUsingRobotMountedCamera |
はい |
||||
MaskPointCloud |
はい |
||||
Capture2DAnd3D |
はい |
はい |
|||
ROIBoxViaCheckerboard |
はい |
||||
UtilizeHandEyeCalibration |
はい |
||||
PoseConversions |
はい |
||||
ROIBoxViaArucoMarker |
はい |
||||
CaptureUndistort2D |
はい |
||||
CreateDepthMap |
はい |
||||
ProjectAndFindMarker |
はい |
||||
ReprojectPoints |
はい |
||||
ReadProjectAndCaptureImage |
はい |
||||
GammaCorrection |
はい |
||||
AllocateMemoryForPointCloudData |
はい |
||||
CaptureAndConvertImageWithOpenCVOnCuda |
はい |
||||
TransformPointCloudViaCheckerboard |
はい |
||||
TransformPointCloudViaArucoMarker |
はい |
||||
CaptureHalconViaGenICam |
はい |
||||
CaptureHalconViaZivid |
はい |
Eigen
Download the latest stable release of Eigen from https://libeigen.gitlab.io/ and extract the folder to your desired destination. When configuring the CMake project, include Eigen to configure the samples that depend on it.
Command Prompt
zivid-cpp-samples で作成したビルドディレクトリに移動して、次のコマンドを実行します。
cmake -DEIGEN3_INCLUDE_DIR=<path> -DUSE_OPENCV=OFF -DUSE_PCL=OFF ../sourceここで
<path>は Eigen をインストールした場所への完全なパスです。例:C:/Program Files/Eigen。PCL
https://github.com/PointCloudLibrary/pcl/releases で
.exeを選択して、ビルド済みの PCL バイナリをダウンロードしてインストールします。サードパーティライブラリをインストールするオプションをオンにします。![]()
Zivid PCL コードサンプルを構成する前に、いくつかの設定を PATH システム変数に含める必要があります。PC で、 Control Panel → System and Security → System → Advanced System Settings → Environment Variables に移動します。システム変数 で、
Path変数を選択し、 Edit をクリックします。![]()
Edit environment variable ウィンドウで New をクリックし、PCL バイナリと OpenNI2 (サードパーティライブラリ) へのパスを追加します。例:
C:\Program Files\PCL 1.12.1\bin C:\Program Files\OpenNI2\ToolsPCL 1.12.1 と OpenNI2 を Program Files にインストールしている場合。変更を反映させるには、Windows アカウントからサインアウトして再度サインインする必要がある場合があります。
警告
VTK などのサードパーティ製 PCL ライブラリには、手動でリンクする必要がある場合があります。エラーが発生した場合は、ライブラリのバイナリへのパスを PATH システム変数に追加してください。例えば、PCL 1.12.1 を Program Files にインストールした場合、VTK の場合は
C:/Program Files/PCL 1.12.1/3rdParty/VTK/binを追加します。CMake プロジェクトを構成するとき、PCL へのパスはすでに構成されているはずです。
Command Prompt
zivid-cpp-samples で作成したビルドディレクトリに移動して、次のコマンドを実行します。
cmake -DUSE_PCL=ON -DUSE_EIGEN3=OFF -DUSE_OPENCV=OFF ../sourceOpenCV
https://opencv.org/releases/ から事前にビルドされた OpenCV バイナリをダウンロードしてインストールします。希望の場所に展開します。例:
C:\Users\PublicZivid OpenCV コードサンプルを構成する前に、いくつかの設定を PATH システム変数に含める必要があります。PC で、 Control Panel → System and Security → System → Advanced System Settings → Environment Variables に移動します。システム変数 で、
Path変数を選択し、 Edit をクリックします。![]()
Edit environment variable ウィンドウで New をクリックし、OpenCV バイナリへのパスを追加します。例:
C:\Program Files\opencv\build\x64\vc16\binOpenCV 4.7.0 をインストールして
C:/Program Files/opencvに展開した場合。警告
変更を有効にするには、Windows アカウントからサインアウトし、再度サインインする必要がある場合があります。
CMake プロジェクトを構成するときに、OpenCV を含めて依存するサンプルを構成します。
Command Prompt
zivid-cpp-samples で作成したビルドディレクトリに移動して、次のコマンドを実行します。
cmake -DOpenCV_DIR=<path> -DUSE_EIGEN3=OFF -DUSE_PCL=OFF ../sourceここで
<path>は OpenCV ビルドフォルダへの完全なパスです。例:C:/Program Files/opencv/build。HALCON
Halcon C++ サンプルを実行するには、PC に Halcon がインストールされている必要があります。詳細な手順については Windows 用 Zivid + HALCON をインストールする を参照してください。
Halcon をインストールした後、Halcon サンプルを使用するように CMake を構成します。
Command Prompt
zivid-cpp-samples で作成したビルドディレクトリに移動して、次のコマンドを実行します。
cmake -DUSE_HALCON=ON -DUSE_EIGEN3=OFF -DUSE_OPENCV=OFF -DUSE_PCL=OFF ../source
複数の依存関係を一度に構成したい場合は、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 フォルダーへのパスです。
サンプルプログラムをデバッグする
To debug a sample you must add C:/Program Files/Zivid/bin_debug to your PATH environment variable.
Follow the instructions in the "Debugging a sample program" dropdown below to do this.
サンプルプログラムのデバッグ
PC で、 Control Panel → System and Security → System → Advanced System Settings → Environment Variables に移動します。
システム変数 で、 Path 変数を選択し、 Edit をクリックします。
Environment variables ウィンドウで、 New (ウィンドウの右上隅、ユーザー変数のセクション内) をクリックし、次の値を追加します。
C:\Program Files\Zivid\bin_debug
注釈
入力ファイルに依存するプログラムをデバッグする場合は、作業ディレクトリを ${TargetDir} に変更する必要があります。
ビルド構成を Release から Debug に変更します。次に F5 をクリックしてデバッグ付きでビルドおよび実行します。
バージョン履歴
SDK |
変更点 |
|---|---|
2.17.0 |
非構造化点群の可視化に対するネイティブサポートが追加されたため、Open3D への依存関係を削除しました。 |
2.16.0 |
Ubuntu 上でオプションの依存関係を持つ C++ サンプルを設定する手順を追加しました。Ubuntu と Windows の両方で Open3D を設定する手順を追加しました。 |