トップページ -> 最新情報技術の実習と研究ツール -> 3次元点群データ,MeshLab -> Python から libpcl を使ってみる(GitHub の davidcaron/pclpy を使用)
[サイトマップへ]

Python から libpcl を使ってみる(GitHub の davidcaron/pclpy を使用)

目次

利用条件などは利用者において確認してください

サイト内の関連Webページ:

参考Webページ

謝辞:pclpy の作者に感謝します


前準備

Anaconda, git のインストール

前準備として,Python 開発環境のAnaconda, git のインストールが終わっていること.

以下,Windows での Anaconda と git をインストール済みであるものとして説明を続けます.


隔離された Python 環境の作成

  1. 今から作成するPython 環境の名前と、Pythonのバージョンを決めておく

  2. Windows のコマンドプロンプトを実行する.

  3. 隔離された Python 環境を作成する

    次のコマンドを実行

    conda create -n py36 python=3.6
    

  4. Python 環境が作成できたことを確認
    conda info -e 
    

これで、もとからの Python 環境と, 新規作成されたPython 環境(Python のバージョン 3.6名前は py36)の共存できた。


新規作成された Python 環境を使いたいとき


隔離された Python 環境で、インストールの前準備を行う

いま作成した Python 環境で、パッケージの更新などの前準備を行う

  1. Windows で、コマンドプロンプトを実行

  2. Python 環境を有効にする

    次のコマンドを実行

    activate py36 
    

  3. Anaconda の conda パッケージの更新、古い conda パッケージファイルの削除

    「conda config --remove channels conda-forge」は,conda のチャンネルに「conda-forge」が入っていたら削除する操作(エラーメッセージが出たとしても無視してください).

    conda config --remove channels conda-forge
    
    conda upgrade --all
    
    conda clean --packages
    

    (途中省略)

    (以下省略)

  4. conda の動作確認

    エラーメッセージが出ないことを確認

    conda info
    

davidcaron/pclpy のインストール

  1. VS 2017用 x64 Native Tools コマンドプロンプトを開く

    ※ スタートメニューの「Visual Studio 2017」の下にある

    ※ Visual Studio 2017 がないときは、Microsoft Build Tools for Visual Studio 2017 のインストールを行う

  2. Python 環境を有効にする

    「activate py36 」は Python 環境(名前はpy36)を有効にするためのコマンド(各自の環境の名前にあわせること

    activate py36 
    

    「Could not find conda environment: py36」というメッセージが出たときは、上の「隔離された Python 環境の作成」を行う

  3. 前提パッケージのインストール

    前提パッケージは、 https://github.com/davidcaron/pclpy/blob/master/requirements.txt, https://github.com/davidcaron/pclpy/blob/master/requirements_dev.txt で指定されている

    conda install -y numpy cython  ^
      pybind11 PyYAML inflection unidecode pytest ply
    

    pip install laspy pclpy_dependencies CppHeaderParser generators strict-functions
    

  4. pclpy のインストール

    README.md の記述に従う

    pip install pclpy 
    

  5. pclpy のソースコードをダウンロードしておく

    mkdir c:\pytools
    cd c:\pytools
    rmdir /s /q pclpy
    cd c:\pytools
    git clone https://github.com/davidcaron/pclpy
    

  6. 動作確認

    https://github.com/davidcaron/pclpy/blob/master/README.md に記載の Python プログラムを実行してみる

    エラーメッセージが出なければOKとする

    import pclpy
    from pclpy import pcl
    
    point_cloud = pclpy.read("C:/pytools/pclpy/pclpy/tests/test_data/street.las", "PointXYZRGBA")
    mls = pcl.surface.MovingLeastSquaresOMP.PointXYZRGBA_PointNormal()
    tree = pcl.search.KdTree.PointXYZRGBA()
    mls.setSearchRadius(0.05)
    mls.setPolynomialFit(False)
    mls.setNumberOfThreads(12)
    mls.setInputCloud(point_cloud)
    mls.setSearchMethod(tree)
    mls.setComputeNormals(True)
    output = pcl.PointCloud.PointNormal()
    mls.process(output)