トップページデータベース研究3次元点群データ,MeshLabPython から libpcl を使ってみる(GitHub の davidcaron/pclpy, Python, Ubuntu を使用)(書きかけ)

Python から libpcl を使ってみる(GitHub の davidcaron/pclpy, Python, Ubuntu を使用)(書きかけ)

【このページの目次】

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

サイト内の関連ページ:

参考Webページ

謝辞:このページで使用しているソフトウエア類の作者に感謝します

前準備

Python のインストール,pip と setuptools の更新,Python 開発環境(JupyterLab, spyder, nteract)のインストール

Windows の場合

  1. Python のインストール

    Python の URL: http://www.python.org/

    インストール手順の詳細は: 別ページで説明している.

  2. pip と setuptools の更新,Python 開発環境(JupyterLab, spyder, nteract)のインストール(Windows 上)

    コマンドプロンプトを管理者として実行し,次のコマンドを実行.

    Windows での pip の実行では,コマンドプロンプトを管理者として実行することにする。

    [image]

    python -m pip install -U pip setuptools
    python -m pip install -U jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder
    

Ubuntu の場合

システム Python を使用(インストール操作は不要)

  1. pip と setuptools の更新,Python 開発環境(JupyterLab, spyder, nteract)のインストール(Ubuntu 上)

    端末で,次のコマンドを実行.

    sudo apt -y install python3-dev python3-pip python3-setuptools python3-venv
    sudo pip3 uninstall ptyprocess sniffio terminado tornado jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder
    sudo apt -y install jupyter jupyter-qtconsole spyder3
    sudo apt -y install python3-ptyprocess python3-sniffio python3-terminado python3-tornado 
    sudo pip3 install -U jupyterlab nteract_on_jupyter
    

Git, 7-Zip のインストール

Git の URL: https://git-scm.com/

7-Zip の URL: https://sevenzip.osdn.jp/

libpcl バージョン 1.9 のインストール

(Windowsの場合のみ)Visual C++ ビルドツール (Build Tools) のインストール

Windows での Visual C++ ビルドツール (Build Tools) のインストール手順: 別ページで説明している.

davidcaron/pclpy のインストール

URL: https://github.com/davidcaron/pclpy

Ubuntu での手順を下に示す.

  1. インストールディレクトリを空にする
    sudo mkdir /usr/local/pytools
    cd /usr/local/pytools
    sudo rmdir -rf pclpy
    
  2. github の davidcaron/pclpy のダウンロード

    cd /usr/local/pytools
    sudo git clone https://github.com/davidcaron/pclpy
    
  3. 前提パッケージのインストール
  4. インストール

    Ubuntu の場合

    sudo PYTHON=python3 bash scripts/download_pcl.sh 
    sudo PYTHON=python3 bash scripts/generate_points_and_bindings.sh
    sudo PYTHON=python3 bash scripts/generate_hpp_point_types.sh
    python3 setup.py build
    sudo python3 setup.py install
    
  5. 動作確認

    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)
    

    [image]