写真から三次元点群データを生成するオープンソースのSfM(Structure for Motion)のひとつであるOpenMVGをVisual Studio 2017でビルドしてみました。
まず、以下のモジュールが入っていなければ入手してインストールしておきます。()内は私の環境にインストールしたモジュールです。
- CMake(cmake-3.8.0-win64-x64.msi)
- TortoiseGit(TortoiseGit-2.4.0.2-64bit.msi)
GitHubからOpenMVGを取ってきます。まず、OpenMVGのソースコード等をGitHubから取得先フォルダを作成します。このフォルダを「c:\Git\OpenMVG」とします。エクスプローラでC:\Gitを開き、OpenMVGフォルダのアイコンを右クリックして[Git Clone]を実行します。開いたダイアログでURLに「https://github.com/openMVG/openMVG.git」を入力し[OK]をクリックするとクローンが始まります。
次にフォルダ「c:\Git\OpenMVG」をエクスプローラで右クリックして[TortoiseGit]-[Submodule update]を実行します。
次にCMakeを実行します。
control_points_registrationを使う場合はQt5を使うように設定変更が必要なため、C:\Git\openMVG\src\software\CMakeLists.txtの「find_package(Qt4 QUIET)」の行を「find_package(Qt5 QUIET)」に変更します。
ビルド用のディレクトリを作成します。このフォルダを「c:\OpenMVG\build64」とします。
スタートメニューから「CMake(cmake-gui)」を実行します。CMakeの画面が起動します。
[Where is the source code:]のところにOpenMVGのソースコードが格納されているフォルダを入力します。ここでは「c:\Git\OpenMVG\src」と入力します。同様に[Where to build the binaries:]のところにビルド先として指定したフォルダを入力します。ここでは「c:\OpenMVG\build64」と入力します。
次に[Configure]をクリックすると、コンパイラを選択する画面が表示されるので適切なVisual Studioを選択します。ここでは「Visual Studio 15 2017 Win64」(Visual Studio 2015の場合は「Visual Studio 14 2015 Win64」)を選択します。選択するとConfigureが開始されます。下の画面に進捗中の状況が表示されますので、ここに「Configuration done」が表示されるのを待ちます。
Configureが完了したら、次に[Generate]をクリックし、同様に画面に「Generation done」が表示されるのを待ちます。
これでVisual Studioでビルドする準備が整いました。
Visual Studioのプロジェクトを開きます。CMakeの[Open Project]ボタンをクリックするか、「c:\OpenMVG\build\openMVG.sln」をダブルクリックしてVisual Studioのプロジェクトを開きます。
あとは、通常のVisual Studioプロジェクトと同様にビルドをすればOKです。
今回はここまでで、次回「OpenMVGをVisual Studio 2017(x64)でビルド(その2)」では、実際に3D化する手順を説明したいと思います。