#はじめに
点群データなどの非構造メッシュをどうにか再構成できないかなと色々探していたのが調査の一環、実験的な側面が大きい。
3次元画像処理、点群処理、再構造化などに長けているライブラリかと思われる。
#環境構築(Open3D)
公式サイトに則って環境構築していきます
http://www.open3d.org/docs/release/introduction.html
執筆時期2020年10月ごろ
Open3D : 0.11.1版
Python : ver3.6~3.8対応(Python2を使いたい場合過去バージョンなら動くかも)
pipもしくはAnacondaが入っていれば問題ありません。実行時にNumpyなどのライブラリも使用するので環境にこだわりがなければAnacondaを入れてしまう方が楽かもしれません。
pipからインストールの場合
pip install open3d
Anacondaからインストールの場合
conda install -c open3d-admin open3d
このコードを入力してエラーしなければ導入完了です
python -c "import open3d as o3d"
#サンプル入手
Open3Dのサンプルをgitからダウンロード
https://github.com/intel-isl/Open3D/tree/v0.8.0
Pythonのバージョンによってはv0.7.0に下げないと対応していない場合もあるので注意。
#Ball_Pivoting_Algoサンプルを見る
ダウンロードしたサンプルのフォルダに移動します
cd Open3D/examples/Python/Advanced
surface_reconstruction_ball_pivoting.pyを起動します
python surface_reconstruction_ball_pivoting.py
#まとめ
点群ファイルをBall-Pivotingによって再メッシュ化できる。
Open3Dの現状での採用主要非構造メッシュ再構成アルゴリズム
1、Alpha shapes
2、Ball pivoting
3、Poisson
が気軽にPython環境で書けるのは利点。
適当な点群をPC上で再メッシュ化したいだけであればMeshLabが優秀なため、そちらで済ましてしまった方が早くかなり綺麗です。
入力デバイスとしてAzureKinect、RealSenceにも対応している。