点群からマーチングキューブス(APSS)で面を作成(MeshLab)

MeshLabを使用して、マーチングキューブス法(APSS)で点群から面を作成します。

ここでは、下のようなねこの点群に面を張ります。全体的に密な点群ですが、しっぽが少し粗くなっています。

ネコ点群

それでは、MeshLabのマーチングキューブス法(APSS)で面を作成してみましょう。

点群の読み込み

まず、MeshLabを起動します。次に、ツールバーから

File > Import mesh...

と進み、ファイルの指定ダイアログから、"ism_train_cat.xyz"(このページの一番下からダウンロード)を指定して読み込みますと、下のようなネコの点群が表示されます。

読み込みネコ点群

点群の法線ベクトルの計算

マーチングキューブス法で面を生成するには、各点の法線ベクトルを計算しておく必要があります。

では、各点の法線ベクトルを計算しましょう。ツールバーから

Filters > Normals, Curvatures and Orientation > Compute normals for point sets

と進み、"Compute normals for point sets"ダイアログボックスを開きます。デフォルト設定のまま、"Apply"してから"Close"しますと、法線ベクトルが計算されます。(GUIの下部に、"Filter successfully completed..."というメッセージが一瞬出てから消えます。)

compute_normals

 

compute_normals_for_point_sets

マーチングキューブス(APSS)の適用

点群に対して法線ベクトルを計算しましたら、マーチングキューブス(APSS)を適用できます。ツールバーから

Filters > Point Set > Marching Cubes (APSS)

へと進み、"Marching Cubes (APSS)"ダイアログを開きます。これもデフォルト設定のまま、"Apply"します。

tool_bar_marching_cubes

 

dialog_box_marching_cubes

マーチングキューブス(APSS)を適用した結果は、下図のように、面の裏表が反転していますが、面が張られているのを見ることができます。

marching_cubes_neko_inv

面の反転

面の裏表が逆ですと、面がよく見えませんので面の裏表を反転させます。ツールバーから

Filters > Normals, Curvatures and Orientation > Invert Faces Orientation

へと進み、"Invert Faces Orientation"ダイアログボックスを開きます。デフォルトの設定のまま、"Apply"しますと、面の裏表が反転して、面が見やすくなります。

tool_bar_invert_faces

 

dialog_invert_faces

 

marching_cubes_neko

しっぽは途切れていますが、PCLライブラリのマーチングキューブス法に比べてきれいな面がはれます。

"Marching Cubes (APSS)"ダイアログの"Grid Resolution"等のパラメータを変更すると、面の張られ方が変わるのを観察できます。

ダウンロードとビルド

点群データ


添付ファイル: fileism_train_cat.zip 614件 [詳細] filemarching_cubes_neko.png 921件 [詳細] filedialog_invert_faces.png 724件 [詳細] filetool_bar_invert_faces.png 717件 [詳細] filemarching_cubes_neko_inv.png 756件 [詳細] filedialog_box_marching_cubes.png 717件 [詳細] filetool_bar_marching_cubes.png 737件 [詳細] filecompute_normals_for_point_sets.png 692件 [詳細] filecompute_normals.png 804件 [詳細] fileread_neko_point_clouds.png 745件 [詳細] fileneko_point_clouds.png 1024件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-06-25 (水) 18:10:41 (1341d)