embeddedなブログ

組み込みシステムに関することや趣味に関することをダラダラと書いていきます(^^)

OpenMVS を Visual Studio 2022でビルドする

2024-03-02 16:19:20 | Windows Embedded CompactまたはCE

OpenMVS(Multi-View Stereo)はMulti-Viewステレオという手法で三次元を再構築することを目的としたコンピュータビジョンライブラリです。OpenMVGのようなSfM(Structure-from-Motion)パイプラインのオープンソースプロジェクトは写真を解析してカメラ姿勢を推定し、荒い3D点群(Sparse 3D Point Cloud)を生成するまでのフォトグラメトリの一連の処理の前段フェーズをサポートしているのに対して、OpenMVSは後段をサポートします。具体的には、SfMで生成されたカメラ姿勢と荒い3D点群データを入力して、3Dモデルの表面を完全に再現、つまり、テクスチャ付きメッシュを生成するアルゴリズムを提供します。主な処理項目としては、下記の4つがあります。

  • Dense Point-Cloud Reconstruction : 高密度な点群を生成します。
  • Mesh Reconstruction : 入力となる点群データを忠実に再現するメッシュの面を生成します。
  • Mesh Refinement : 微細なディテールを再現するためのメッシュを精密化します。
  • Mesh Texturing : メッシュに色を付けるためにシャープで正確なテクスチャを計算します。

今回は、このOpenMVSをVisual Studio 2022でビルドしてみましたので、その手順をご紹介します。

事前に、下記は準備できた環境という前提で説明させていただきます。

  • Python 3
  • GitHub
  • Visual Studio 2022

ビルドは C:¥git というフォルダで実行しています。適宜、皆さんの環境に合わせてお読みください。

cd c:¥git
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
.¥bootstrap-vcpkg.bat

ビルドは C:¥git というフォルダで実行しています。適宜、皆さんの環境に合わせてお読みください。

cd c:¥git
git clone --recurse-submodules https://github.com/cdcseacave/openMVS.git
cd openMVS
mkdir make
cd make
cmake .. -DOpenMVS_USE_CUDA=OFF -DOpenMVS_USE_BREAKPAD=OFF -DBoost_USE_STATIC_RUNTIME=OFF -DCMAKE_TOOLCHAIN_FILE="C:\git\vcpkg\scripts\buildsystems\vcpkg.cmake"

今回の環境にはCUDAが無いため、OpenMVS_USE_CUDA=OFFと設定していますが、CUDAを使う場合には、このオプションを削除してください。

これで、準備は完了です。ここからVisual Studio 2022での作業です。 C:¥git¥OpenMVS¥make フォルダに生成されたOpenMVS.sln ファイルをダブルクリックして、VisualStudioプロジェクトを開きます。

そして、ビルドを実行するだけです。うまく行けばエラーもなく、ビルドが完了するはずです。VCPKGを使って環境構築しているので、ほぼ苦労なく完了すると思います。

以上で、ビルドに関する説明は完了です。また次回は使い方について説明したいと思います。


最新の画像もっと見る