Windows で Point Cloud Library をビルド

Point Cloud Library は、2次元画像、3次元画像、ポイントクラウド処理用のプログラムの集まり。 features, keypoint, tracking, segmentation, registration, visualization などの機能がある.

このページでは,Windows での Point Cloud Library のインストール手順を図解等で説明する.

目次

前準備

Boost 1.57 のインストール

  1. まず、 C:\PCL1.7.2\3rdParty\BoostC:\PCL1.7.2\3rdParty\Boost156 のように変えておく.
  2. Web ページを開く (Open the Boost Web page)

    http://www.boost.org/users/download/

  3. 「Prebuilt windows binaries」をクリック (Click "Prebuilt windows binaries")
  4. 最新版を選ぶ (Select the newest version)
  5. ファイルを選ぶ (Select a file)
  6. インストール (Start Install)
  7. インストール・ディレクトリ (Install Directory)
  8. インストール (Start Install)
  9. インストール終了 (Finish Install)

Point Cloud Library のソースコードのダウンロードとビルド

  1. Windows のコマンドプロンプトで次を実行 (Do the folloing using Windows cmd.exe)
    set PCL_ROOT=C:\PCL1.7.2
      
    mkdir %PCL_ROOT%\sources
    cd %PCL_ROOT%\sources
    
    git clone https://github.com/PointCloudLibrary/pcl.git
    cd pcl
    
    set Boost_ROOT=%PCL_ROOT%\3rdParty\Boost
    set EIGEN_ROOT=%PCL_ROOT%\3rdParty\Eigen
    set FLANN_ROOT=%PCL_ROOT%\3rdParty\FLANN
    set QHULL_ROOT=%PCL_ROOT%\3rdParty\Qhull
    set VTK_ROOT=%PCL_ROOT%\3rdParty\VTK
    
    set EIGEN_INCLUDE_DIR=%PCL_ROOT%\3rdParty\Eigen\include\eigen3
    set VTK_DIR=%PCL_ROOT%\3rdParty\VTK\lib\cmake\vtk-1.6.1
    
    set BOOST_LIBRARYDIR=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0
    set Boost_DATE_TIME_LIBRARY_DEBUG=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_date_time-vc120-mt-1_57.lib
    set Boost_DATE_TIME_LIBRARY_RELEASE=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_date_time-vc120-mt-gd-1_57.lib
    set Boost_FILESYSTEM_LIBRARY_DEBUG=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_filesystem-vc120-mt-1_57.lib
    set Boost_FILESYSTEM_LIBRARY_RELEASE=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_filesystem-vc120-mt-gd-1_57.lib
    set Boost_INCLUDE_DIR=%PCL_ROOT%\3rdParty\Boost\boost
    set Boost_IOSTREAMS_LIBRARY_DEBUG=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_iostreams-vc120-mt-1_57.lib
    set Boost_IOSTREAMS_LIBRARY_RELEASE=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_iostreams-vc120-mt-gd-1_57.lib
    set Boost_MPI_LIBRARY_DEBUG=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_mpi-vc120-mt-1_57.lib
    set Boost_MPI_LIBRARY_RELEASE=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_mpi-vc120-mt-gd-1_57.lib
    set Boost_SERIALIZATION_LIBRARY_DEBUG=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_serialization-vc120-mt-1_57.lib
    set Boost_SERIALIZATION_LIBRARY_RELEASE=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_serialization-vc120-mt-gd-1_57.lib
    set Boost_SYSTEM_LIBRARY_DEBUG=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_system-vc120-mt-1_57.lib
    set Boost_SYSTEM_LIBRARY_RELEASE=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_system-vc120-mt-gd-1_57.lib
    set Boost_THREAD_LIBRARY_DEBUG=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_thread-vc120-mt-1_57.lib
    set Boost_THREAD_LIBRARY_RELEASE=%PCL_ROOT%\3rdParty\Boost\lib64-msvc-12.0\boost_thread-vc120-mt-gd-1_57.lib
    
    set FLANN_INCLUDE_DIR=%PCL_ROOT%\3rdParty\flann\include
    set FLANN_LIBRARY=%PCL_ROOT%\3rdParty\flann\lib\flann_cpp_s.lib
    set FLANN_LIBRARY_DEBUG=%PCL_ROOT%\3rdParty\flann\lib\flann_cpp_s-gd.lib
    
    set QHULL_INCLUDE_DIR=%PCL_ROOT%\3rdParty\qhull\include\libqhull
    set QHULL_LIBRARY=%PCL_ROOT%\3rdParty\qhull\lib\qhullstatic.lib
    set QHULL_LIBRARY_DEBUG=%PCL_ROOT%\3rdParty\qhull\lib\qhullstatic_d.lib
    
    cmake -DCMAKE_INSTALL_PREFIX=%PCL_ROOT% -DWITH_CUDA=FALSE -DWITH_FZAPI=FALSE -DWITH_LIBUSB=FALSE -DWITH_OPENNI=FALSE -DWITH_OPENNI2=FALSE -DWITH_PCAP=FALSE -DWITH_PXCAPI=FALSE -DWITH_QT=FALSE -DWITH_PNG=FALSE -DWITH_ENSENSO=FALSE -DBUILD_OPENNI=FALSE -DBUILD_all_in_one_installer=FALSE -DBUILD_examples=TRUE -DBUILD_apps=TRUE . 
    
  2. Build files have been written... と表示されることの確認 ("Build files have been written..." is successfull completion)
  3. PCL.sln を開く (open the PCL.sln)
  4. ビルドの設定 (Build Setting)

    64 ビット Windows のときは, 64ビット版の Boost などを使うので、x86_64

  5. Waiting for finishing of scanning if some scanning has started
  6. Build the Solution update the libpcl prerequisites cmake (install cmake) create symbolic link or directory copy

    --- see also http://pointclouds.org/media/ --- http://zuqqhi2.com/?cat=154

 

インストール手順

  1. Web ページを開く

    http://sourceforge.net/projects/opencvlibrary/

  2. Files」をクリック
  3. Windows 版が欲しいので「opencv-win」をクリック
  4. 最新版を選ぶ
  5. クリックするとダウンロードが始まる
  6. ダウンロードしたファイルを実行
  7. 解凍先ディレクトリを設定する.分かりやすいディレクトリを指定すること

    解凍先ディレクトリ (下の図では C:\OpenCV300)を覚えておく

  8. 解凍が始まる
  9. 環境変数 OPENCV_DIR の設定

    参考Webページ: https://docs.opencv.org/trunk/doc/tutorials/introduction/windows_install/windows_install.html#windowssetpathandenviromentvariable

    「マイコンピュータ」 → 「プロパティ」 → 「詳細設定」 → 「環境変数」のように 操作し、次のように設定する

    <設定例>

    64ビットWindows の場合

    • 変数名: OPENCV_DIR
    • 変数値: 「C:\OpenCV300\opencv\build\x64」を追加。(他のパスとは「;」で区切る)

    32ビットWindows の場合

    • 変数名: OPENCV_DIR
    • 変数値: 「C:\OpenCV300\opencv\build\x86」を追加。(他のパスとは「;」で区切る)
  10. 環境変数 PATH の設定

    「マイコンピュータ」 → 「プロパティ」 → 「詳細設定」 → 「環境変数」のように 操作し、次のように設定する

    • 変数名: PATH
    • 変数値: 「%OPENCV_DIR%\vc12\bin」を追加。(他のパスとは「;」で区切る)

Microsoft Visual C++ を用いて OpenCV 3.0.0 ベータ本体をビルド

  1. cmake-gui を起動
  2. ソースコードのディレクトリと、ビルド結果を置くディレクトリの指定
    • ソースコードのディレクトリ: C:/OpenCV300/opencv/sources
    • ビルド結果を置くディレクトリ: C:/OpenCV300/opencv/build
  3. 「Configure」をクリック
  4. 「Use default native compilers」を選ぶ
  5. Microsoft Visual C++ のバージョンを指定し、「Finish」をクリック
  6. BUILD_opencv_world にチェックする.
  7. (オプション) 元の画面で「BUILD_EXAMPLES」をチェック
  8. 「Generate」をクリック
  9. OpenCV.sln を開く
  10. Release バージョンを選ぶ
  11. 「ビルド (Build)」を選び、「ソリューションのビルド (Build Soulution)」を開始する
  12. ビルドの結果、エラーメッセージが出ていないことを確認
  13. 環境変数 OPENCV_DIR の設定

    参考Webページ: https://docs.opencv.org/trunk/doc/tutorials/introduction/windows_install/windows_install.html#windowssetpathandenviromentvariable

    「マイコンピュータ」 → 「プロパティ」 → 「詳細設定」 → 「環境変数」のように 操作し、次のように設定する

    • 変数名: OPENCV_DIR
    • 変数値: 「C:\OpenCV300\opencv\build」を追加。(他のパスとは「;」で区切る)
  14. 環境変数 PATH の設定

    「マイコンピュータ」 → 「プロパティ」 → 「詳細設定」 → 「環境変数」のように 操作し、次のように設定する

    • 変数名: PATH
    • 変数値: 「%OPENCV_DIR%\bin\release」を追加。(他のパスとは「;」で区切る)

 

使ってみる

  1. Microsoft Visual Studio 2013 の起動 (launch Microsoft Visual Studio 2003)
  2. ファイル (File)」 → 「新規 (New)」 → 「プロジェクト (Project)」
  3. Visual C++ の Win32 コンソールアプリケーションを選び、 プロジェクト名を付ける (Select "Visual C++" and then "Win32 Console Application")

    プロジェクト名は何でも良い

  4. 次へ (Next)」をクリック
  5. 空のプロジェクト (Empty Project) を選ぶ
  6. (オプション) 64 ビット Windows を使う場合の設定
    1. ビルド (Buold)」 →「構成マネージャ (Configuration Manager)」
    2. プラットフォーム (Platform)」を選ぶ
    3. 新規作成 (New)」を選ぶ
    4. 新しいプラットフォーム (New Platform)」に 「x64 (New Platform)」を指定する.
  7. OpenCV に関する設定 (OpenCV Settings)
    1. プロパティ・マネージャ (Property Manager)のウインドウを開く (Open a property manager window)

      あとで、プロパティを確認したいときに便利

    2. プロジェクトを右クリックしてプロパティ (Properties) を選ぶ (Right click the project, then select the Properties)
    3. インクルード・ディレクトリの設定 (Set include directories)

      C/C++ General と操作し、 次のように設定

      • Configuration : All Configurations
      • Additional Include Directories : $(OPENCV_DIR)\include
    4. ライブラリ・ディレクトリの設定 (Set library directories)

      Linker General と操作し、 次のように設定

      • Configuration : All Configurations
      • Additional Library Directories : $(OPENCV_DIR)\lib\release
    5. ライブラリの設定 (Set libraries)

      Linker Input と操作し、 Additional Dependencies を選び、 次のように設定し、「OK」をクリック

      • Configuration : Active (Debug)
      • Additional Dependencies : opencv_ts300d.lib opencv_world300d.lib

      さらに、次のように設定し、「OK」をクリック

      • Configuration : Active (Release)
      • Additional Dependencies : opencv_ts300.lib opencv_world300.lib
  8. ソースコードの追加操作
    1. ソース・ファイル (Source File) を右クリックし、 追加 (New) → 新規アイテム (New Item) と操作する
    2. C++ File (.cpp)」を選び、 「追加 (Add)」をクリック
  9. エディタのウインドウを使い,ソースプログラムを入力 (Edit a source program in the editor window)

    https://docs.opencv.org/trunk/doc/tutorials/introduction/display_image/display_image.html#display-image に記載のサンプル・コード

    「C:\\HappyFish.jpg」のところは、画像ファイル名を設定すること

    #include<opencv2/core/core.hpp>
    #include<opencv2/imgcodecs.hpp>
    #include<opencv2/highgui/highgui.hpp>
    
    #include<iostream>
    #include<string>
    
    using namespace cv;
    using namespace std;
    
    int main( int argc, char** argv )
    {
        string imageName("C:\\HappyFish.jpg"); 
        if( argc > 1)
        {
            imageName = argv[1];
        }
    
        Mat image;
        image = imread(imageName.c_str(), IMREAD_COLOR); // Read the file
    
        if( image.empty() )                      // Check for invalid input
        {
            cout <<  "Could not open or find the image" << std::endl ;
            return -1;
        }
    
        namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
        imshow( "Display window", image );                // Show our image inside it.
    
        waitKey(0); // Wait for a keystroke in the window
        return 0;
    }
    
  10. ビルド (Build)

    プロジェクト名(下の画面では「ConsoleApplication」)を選び, 「ビルド」と操作する

    ビルドの正常終了を確認する.

  11. 開始 (Start)

    デバッグ (Debug)」→「Start Without Debugging」 (または CTRL + F5キー). ウインドウが現れるので,結果を確認.