web-dev-qa-db-ja.com

メッシュから点群を生成できますか?

Mayaの(.obj)ファイルなどのメッシュから点群データを生成しようとしています。しかし、私は逆の場合、つまりインターネット上でメッシュ化する点群のみを見つけることができました。 MeshLabやMayaなどの3Dツールを使用して「メッシュから点群データ」を作成する方法はありますか? (私はMeshLabを使用する方が好きです)

ありがとう。 :)

11
Youn A Lee

ポイントクラウドライブラリ には、オブジェクトを一連のビューからポイントにレンダリングし、レンダリングを組み合わせることで、メッシュをポイントクラウドに変換するためのいくつかの異なるコマンドラインツールがあります。例えばpcl_mesh2pcd、pcl_mesh_sampling

6
D.J.Duff

無料のオープンソースプロジェクト CloudCompare は、OBJメッシュをロードして、メッシュ上に点群を生成し、さまざまな形式で保存できます。

10
Chris4d

三角形メッシュを点群に変換するということは、そのサーフェス上でポイントサンプリングを行うことを意味します。必要な分布(ユニフォームモンテカルロ、ポアソンディスクなど)に応じて、アルゴリズムが異なり、結果は大きく異なります。たとえば、十分な間隔のランダムポイントが必要な場合は、ポアソンディスク分布が必要です。これらのアルゴリズムのいくつかは、meshlab内で、または http://www.meshlabjs.net/ のブラウザで直接テストできます(メッシュをロードして、検索ボックスに「sampling」と入力するだけです)。

メッシュ処理のvcgライブラリ( http://www.vcglib.net )内にC++オープンソース実装があり、これらのアルゴリズムの説明(非常に簡単に実装できます)は次の場所にあります。

三角形メッシュのブルーノイズプロパティを使用した効率的で柔軟なサンプリング
Mコルシーニ、Pチニョーニ、Rスコピニョ
視覚化とコンピュータグラフィックスに関するIEEEトランザクション18(6)、914-924
http://vcg.isti.cnr.it/Publications/2012/CCS12/

3
ALoopingIcon

この質問に対する明確な回答がWeb上にないのは興味深いことです。

メッシュからポイントクラウドへの変換は、メッシュの頂点をポイントクラウドに詰め込むのとは似ていません。メッシュは点群の疎な表現です。したがって、メッシュを点群に変換するには、メッシュの表面上の点をサンプリングする必要があります。 [〜#〜] pcl [〜#〜] は、それを行うためのユーティリティpcl_mesh_samplingを持っています。ソースコードは ここにあります です。

基本的に、メソッドはVTKを使用してメッシュの表面からNポイントを均一にサンプリングします。これは非常に効果的であり、必要な数のポイントを含むポイントクラウドを取得できます。

2
Maghoumi

私は同じことをしたかったのですが、Pythonで簡単に実行できる何かを好みました。私はこれ post が本当に役立つことがわかりました。 Pythonライブラリ-- pyntcloud と呼ばれます)を使用します。ply形式でメッシュをロードし、そこから指定された数のポイントをランダムにサンプリングして、多かれ少なかれ均一な方法です。他のフォーマットにも簡単に適応できます。

1
Geetchandra