金子邦彦研究室人工知能OpenCV や KINECT の使用法Windows で Point Cloud Library をビルド

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 のように変えておく.

    [image]
  2. Web ページを開く (Open the Boost Web page)

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

  3. 「Prebuilt windows binaries」をクリック (Click "Prebuilt windows binaries")

    [image]
  4. 最新版を選ぶ (Select the newest version)

    [image]
  5. ファイルを選ぶ (Select a file)

    [image]
  6. インストール (Start Install)

    [image]
  7. インストール・ディレクトリ (Install Directory)

    [image]
  8. インストール (Start Install)

    [image]
  9. インストール終了 (Finish Install)

    [image]

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)

    [image]
  3. PCL.sln を開く (open the PCL.sln)

    [image]
  4. ビルドの設定 (Build Setting)

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

    [image]
  5. Waiting for finishing of scanning if some scanning has started

    [image]
  6. Build the Solution update the libpcl prerequisites cmake (install cmake) create symbolic link or directory copy

    [image]

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


     

    インストール手順

    1. Web ページを開く

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

    2. Files」をクリック

      [image]
    3. Windows 版が欲しいので「opencv-win」をクリック

      [image]
    4. 最新版を選ぶ

      [image]

      [image]
    5. クリックするとダウンロードが始まる

      [image]
    6. ダウンロードしたファイルを実行

      [image]
    7. 解凍先ディレクトリを設定する.分かりやすいディレクトリを指定すること

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

      [image]
    8. 解凍が始まる

      [image]
    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」を追加。(他のパスとは「;」で区切る)

      [image]

      32ビットWindowsの場合

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

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

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

      [image]

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

    1. cmake-gui を起動

      [image]
    2. ソースコードのディレクトリと、ビルド結果を置くディレクトリの指定
      • ソースコードのディレクトリ: C:/OpenCV300/opencv/sources
      • ビルド結果を置くディレクトリ: C:/OpenCV300/opencv/build

      [image]
    3. 「Configure」をクリック

      [image]
    4. 「Use default native compilers」を選ぶ

      [image]
    5. Microsoft Visual C++ のバージョンを指定し、「Finish」をクリック

      [image]
    6. BUILD_opencv_world にチェックする.

      [image]
    7. (オプション) 元の画面で「BUILD_EXAMPLES」をチェック

      [image]
    8. 「Generate」をクリック

      [image]
    9. OpenCV.sln を開く

      [image]
    10. Release バージョンを選ぶ

      [image]
    11. 「ビルド (Build)」を選び、「ソリューションのビルド (Build Soulution)」を開始する

      [image]
    12. ビルドの結果、エラーメッセージが出ていないことを確認

      [image]
    13. 環境変数 OPENCV_DIR の設定

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

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

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

      [image]
    14. 環境変数 PATH の設定

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

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

      [image]

     

    使ってみる

    1. Microsoft Visual Studio 2013 の起動 (launch Microsoft Visual Studio 2003)

      [image]
    2. ファイル (File)」 → 「新規 (New)」 → 「プロジェクト (Project)」

      [image]
    3. Visual C++ の Win32 コンソールアプリケーションを選び、 プロジェクト名を付ける (Select "Visual C++" and then "Win32 Console Application")

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

      [image]
    4. 次へ (Next)」をクリック

      [image]
    5. 空のプロジェクト (Empty Project) を選ぶ

      [image]
    6. (オプション) 64 ビット Windows を使う場合の設定
      1. ビルド (Buold)」 →「構成マネージャ (Configuration Manager)」

        [image]
      2. プラットフォーム (Platform)」を選ぶ

        [image]
      3. 新規作成 (New)」を選ぶ

        [image]
      4. 新しいプラットフォーム (New Platform)」に 「x64 (New Platform)」を指定する.

        [image]
    7. OpenCV に関する設定 (OpenCV Settings)
      1. プロパティ・マネージャ (Property Manager)のウインドウを開く (Open a property manager window)

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

        [image]
      2. プロジェクトを右クリックしてプロパティ (Properties) を選ぶ (Right click the project, then select the Properties)

        [image]
      3. インクルード・ディレクトリの設定 (Set include directories)

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

        • Configuration : All Configurations
        • Additional Include Directories : $(OPENCV_DIR)\include

        [image]
      4. ライブラリ・ディレクトリの設定 (Set library directories)

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

        • Configuration : All Configurations
        • Additional Library Directories : $(OPENCV_DIR)\lib\release

        [image]
      5. ライブラリの設定 (Set libraries)

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

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

        [image]

        [image]

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

        • Configuration : Active (Release)
        • Additional Dependencies : opencv_ts300.lib opencv_world300.lib

        [image]

        [image]
    8. ソースコードの追加操作
      1. ソース・ファイル (Source File) を右クリックし、 追加 (New) → 新規アイテム (New Item) と操作する

        [image]
      2. C++ File (.cpp)」を選び、 「追加 (Add)」をクリック

        [image]
    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;
      }
      

      [image]
    10. ビルド (Build)

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

      [image]

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

      [image]
    11. 開始 (Start)

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

      [image]

      [image]