金子邦彦研究室人工知能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の場合

    [image]

    32ビットWindowsの場合

  10. 環境変数 PATH の設定

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

    [image]

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

  1. cmake-gui を起動
    [image]
  2. ソースコードのディレクトリと、ビルド結果を置くディレクトリの指定
    [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

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

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

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

    [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]