3D点群を含む.PLYファイルがあります。それをプロットし、Pythonで視覚化します。 .PLYファイルには頂点のみが含まれ、面は含まれません。
D点群のプロットを処理する簡単なPythonライブラリを教えていただけますか?
メッシュのプロットには興味がなく、点群のみに興味があることに注意することが重要です。
簡単な方法からPythonでPLYポイントクラウドを読んで表示する私が何を報告しているのか自分の質問に答える私の場合、これが最良のソリューションであることがわかりました。
Cmdを開き、次を入力します。
pip install open3d
これにより、Open3Dがマシンにインストールされ、次のサンプルスクリプトを実行するだけで、PLYポイントクラウドを読み取って表示できるようになります。
import numpy as np
from open3d import *
def main():
pcd = read_point_cloud("test.ply") # Read the point cloud
draw_geometries([pcd]) # Visualize the point cloud
if __name__ == "__main__":
main()
pptk (ポイント処理ツールキット)を試してください。このパッケージには、3列のnumpy配列を入力として直接使用する3Dポイントクラウドビューアーがあり、1,000万から1億のポイントをインタラクティブに視覚化できます。 (オクトツリーを使用して視錐台の外側のポイントをカリングし、遠くのポイントのグループを単一のポイントとして近似することにより、各フレームでレンダリングする必要があるポイントの数を減らします)
インストールするには、
>> pip install pptk
Pythonで100個のランダムに生成されたポイントを視覚化するには、
>> import pptk
>> import numpy as np
>> P = np.random.Rand(100,3)
>> v = pptk.viewer(P)
100個のランダムポイントを視覚化するpptkビューアのスクリーンショット
ドキュメントWebサイトには、 tutorial もあります。具体的には、.plyファイルからロードされたポイントクラウドを視覚化します。
https://github.com/daavoo/pyntcloud を使用して、Jupyterノートブック内のPLYを視覚化できます。
from pyntcloud import PyntCloud
human_face = PyntCloud.from_file("human_face.ply")
human_face.plot()
justディスプレイへのpythonバインディングを持つvtkを使用できます。 コードスニペット
Numpyなどでデータを処理する場合は、次の手順をお勧めします。
pcl_ply2pcd input.ply output.pcd -format 0
Pclの世界にとどまりたい場合は、ライブラリへのバインディングを含むpython-pclモジュールがあります。
これらのいずれかがニーズに合う場合は、これらのいずれかについてさらに詳しく説明できます。