openMVG (open Multiple View Geometry) は、古典的なオープンソースの 3D 再構成アルゴリズム ライブラリです。この記事では主に、Linux システムでの OpenMVG ライブラリのインストールとコンパイル方法を紹介します。
コードアドレス: github
公式ドキュメント: DOC
インストール手順は次のとおりです。
1. ソース コードをダウンロードします。1 つの方法は git clone を使用してダウンロードすることです。もう 1 つは zip を直接ダウンロードすることです。前者をお勧めします。後者は依存ライブラリ ファイルを完全にダウンロードできないため、コンパイルが失敗します。recursive は、依存ライブラリを再帰的にダウンロードできます。
git clone --recursive https://github.com/openMVG/openMVG.git
ダウンロードが完了したら、依存関係フォルダー内のこれら 3 つのフォルダーが空でないことを必ず確認してください。
それ以外の場合は、コンパイル中に「サブモジュールが見つかりません」または「サブモジュールがパスに登録されていません。 」というエラーが報告されます。解決策:ブログ、またはダウンロードに失敗したライブラリを個別に git clone し、対応するフォルダーに置きます。
2. 依存ライブラリのインストール
sudo apt-get install libpng-dev libjpeg-dev libtiff-dev libxxf86vm1 libxxf86vm-dev libxi-dev libxrandr-dev
sudo apt-get install graphviz
もちろん、このアルゴリズムは、Eigen3.4.0、ceres-solver、およびその他のライブラリにも依存しており、これらは自分でインストールできます。
3. コンパイル
フォルダーを作成し、ダウンロードしたソースコードをフォルダーに配置します。cmake を使用してコンパイルします。事故がなければコンパイルは成功します。
mkdir openMVG_Build && cd openMVG_Build
cmake -DCMAKE_BUILD_TYPE=RELEASE -DOpenMVG_BUILD_TESTS=ON -DOpenMVG_BUILD_EXAMPLES=ON . ../openMVG/src/
make
4. エラーの解決
(1)サブモジュールがありません
解決策: lianqi1008 のブログ。
(2) 固有バージョンが低すぎる
エラーメッセージ:
/usr/include/eigen3/Eigen/SparseCholesky:34:2: error: #error SparseCholesky モジュールには MPL2 のみのモードで提供できるものは何もありません #error SparseCholesky モジュールには MPL2 のみのモードで提供できるものは何もありません 解決策: eigen を再インストール
/
アップグレードしますまたは、Cmakelist ファイルの 280 行目を変更します。私は後者を使用していますが、結局のところ、Eigen ライブラリの他のアルゴリズムも使用されているため、バージョンをアップグレードすると、他のアルゴリズムのコンパイルが失敗する可能性があります。システムのEigenの代わりに組み込みのEigenライブラリを使用するように、次のように変更します。