バイナリ形式のPLYファイルで保存された点群データの読み込みについて
조회 수: 15 (최근 30일)
이전 댓글 표시
PLY形式の点群の読み込みについてです。点群の保存のためにPLY形式(バイナリまたはアスキー形式)がよく利用されますが、
PLYの列に入れられる情報はいろいろと柔軟性がある一方、MATLABのpcreadなどでは、XYZや反射強度、色情報のみサポートしているかと存じます。点群のセマンティックセグメンテーションのためのデータセットも多く公開されていますが、
その中でも例えば、オープンデータである、paris-lille-3dデータセットなどでは、PLY形式のclassなどの独自に定義された列に
ラベル情報が入っています(クラウドコンペアにて開く際の設定も添付致します)。

上の画像の点群データは以下のページからダウンロードしています。
そこで質問なのですが、MATLABではこのようなバイナリのPLY形式の点群からクラスなどの独自で定義された列の情報を読み取るのは難しいのでしょうか。
例えば、列名を指定したり、または、デフォルトで全ての列情報を読み取り、それを変数として読み込むようなことは可能でしょうか。
もし参考になるページなどございましたら教えていただけますと幸いです。どうぞよろしくお願いいたします。
댓글 수: 0
채택된 답변
Shunichi Kusano
2025년 7월 2일
PLYのフォーマットを見てみましたが、elementやそれらのpropertyにバリエーションがあり、
柔軟に作ろうとするとそれなりに大変そうに思いました。取り急ぎですが、手元にあるものを改変し、パリのバイナリplyフォーマットに対応した関数readPointCloudFromBinaryPLY.mを作成いたしました。
(ヘッダー確認するだけのshowPLYHeaderも副産物として添付します)
[pt,classIDs] = readPointCloudFromBinaryPLY('Lille2.ply');
で、ポイントクラウドオブジェクトとして読込みが可能となるかと思います。pt.Colorに色情報としてクラスIDが格納されていますが、より直接的にクラス情報としてclassIDsも出力する仕様にしています。
他のPropertyが必要になるケースもあるかと思いますが、ひとまずこちらを参考にしていただければと思います。
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 LIDAR および点群の処理에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!