Python で PLY ファイルを読み取り、操作し、書き込む必要があります。PLYは、3D オブジェクトを格納するための形式です。簡単な検索で、関連する 2 つのライブラリPyMeshとplyfileを見つけました。誰かがそれらのいずれかを使用した経験があり、誰かに推奨事項はありますか? plyfile
Github から判断すると、1 年間休眠していたようです。
この質問が意見に基づく回答を促すことは知っていますが、他にどこでこの質問をするべきか本当にわかりません。
(2020年1月現在)。
なし。open3d を使用します。これは最も簡単で、.ply ファイルを直接 numpy に読み込みます。
import numpy as np
import open3d as o3d
# Read .ply file
input_file = "input.ply"
pcd = o3d.io.read_point_cloud(input_file) # Read the point cloud
# Visualize the point cloud within open3d
o3d.visualization.draw_geometries([pcd])
# Convert open3d format to numpy array
# Here, you have the point cloud in numpy format.
point_cloud_in_numpy = np.asarray(pcd.points)
参考文献:
ポイントクラウドの操作中にうまく使用plyfile
しました。
確かにこのプロジェクトは長い間活動をしていませんでしたが、その目的は果たしています。
また、ply ファイルを解析するという事実は、新しい機能を追加して自分自身を再作成できるようにするものではありません。
一方、PyMesh
ply ファイルの解析以外にも多くの機能を提供します。
したがって、おそらく問題は次のとおりです。
「PLY ファイルの読み取り、操作、書き込み」だけを行いたいですか、それとも追加機能を提供するライブラリを探していますか?
私が選んplyfile
だ理由は、1 つのソース ファイルをコピーするだけでプロジェクトに組み込むことができるということでした。また、PyMesh が提供するその他の機能にはまったく興味がありませんでした。
plyfile のソース コードが少し乱雑であることがわかったため、ply ファイル (ASCII とバイナリをサポート) を読み書きする独自の関数の作成を終了しました。
興味のある方は、ファイルへのリンクを次に示します: ply リーダー/ライター
私は独自のASCIIプライライターを作成しました(非常に単純であるため、依存関係を取りたくありませんでした)。その後、私は怠け者で、他の場所からのバイナリ .ply ファイルをロードするために plyfile に依存しました。まだ何も燃えていません。
良くも悪くも、.ply フォーマットは拡張可能です。カスタム データをそれに押し込みましたが、独自のライターも作成したので簡単でした。