IMAGES - 画像データディレクトリ
MATCHES - openMVG作業ディレクトリ
SFM - PLY等出力データディレクトリ
とする。全部同じディレクトリでも構わないと思うが公式ドキュメントに倣って分けた。
まず
openMVG_main_SfMInit_ImageListing -i IMAGES/ -o MATCHES/ [カメラデータ]
カメラデータの指定方法
-d センサー幅のデータベース(テキストファイル)
-f ピクセル単位の焦点距離
-k カメラの内部パラメータ
どれも指定しなければデフォルトのデータベース、自環境では
が使われるが、-d で自前のデータを与えることができる。
次に
openMVG_main_ComputeFeatures -i MATCHES/sfm_data.json -o MATCHES/ openMVG_main_ComputeMatches -i MATCHES/sfm_data.json -o MATCHES/ openMVG_main_IncrementalSfM -i MATCHES/sfm_data.json -m MATCHES/ -o SFM/
出来上がった点群データからopenMVSで密度の高いデータを生成する。
MVS - openMVS用のディレクトリ
まず、sfm_data.binをopenMVSのフォーマットに変換し
openMVG_main_openMVG2openMVS -i SFM/sfm_data.bin -d MVS/ -o MVS/scene.mvs
openMVSで密なデータを生成する。
DensifyPointCloud MVS/scene.mvs
MVS/にscene_dense.mvsとscene_dense.plyができる。
更に密度が欲しければ
ReconstructMesh MVS/scene_dense.mvs RefineMesh MVS/scene_dense_mesh.mvs
なんかスッキリしない、整理の余地大。