前のチュートリアル: OpenCV 環境変数リファレンス
次のチュートリアル: oneAPI を使った OpenCV のビルド
| |
| 原著者 | Ana Huamán |
| 互換性 | OpenCV >= 3.0 |
クイックスタート
コアモジュールをビルドする
# Install minimal prerequisites (Ubuntu 18.04 as reference)
sudo apt update && sudo apt install -y cmake g++ wget unzip
# Download and unpack sources
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
unzip opencv.zip
# Create build directory
mkdir -p build && cd build
# Configure
cmake ../opencv-4.x
# Build
cmake --build .
opencv_contrib 付きでビルドする
# Install minimal prerequisites (Ubuntu 18.04 as reference)
sudo apt update && sudo apt install -y cmake g++ wget unzip
# Download and unpack sources
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.x.zip
unzip opencv.zip
unzip opencv_contrib.zip
# Create build directory and switch into it
mkdir -p build && cd build
# Configure
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.x/modules ../opencv-4.x
# Build
cmake --build .
詳細な手順
このセクションでは、ビルドプロセスの詳細を示し、代替手段やツールについて説明する。一般的なインストールの詳細については OpenCV インストール概要 チュートリアルを、構成オプションのドキュメントについては OpenCV 構成オプションリファレンス を参照すること。
コンパイラとビルドツールをインストールする
- To compile OpenCV you will need a C++ compiler. Usually it is G++/GCC or Clang/LLVM:
- GCC をインストールする...
- ... または Clang:
sudo apt install -y clang
- OpenCV はビルド構成ツールとして CMake を使用する:
sudo apt install -y cmake
- CMake can generate scripts for different build systems, e.g. make, ninja:
- Make をインストールする...
- ... または Ninja:
sudo apt install -y ninja-build
- Install tool for getting and unpacking sources:
- wget と unzip...
sudo apt install -y wget unzip
- ... または git:
ソースをダウンロードする
OpenCV のソースを入手する方法は 2 つある:
- Web ブラウザまたは任意のダウンロードツールを使ってリポジトリのスナップショット (~80-90Mb) をダウンロードし、展開する...
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
unzip opencv.zip
mv opencv-4.x opencv
- ... または git を使ってリポジトリをローカルマシンにクローンし、完全な変更履歴を取得する (>470Mb):
git clone https://github.com/opencv/opencv.git
git -C opencv checkout 4.x
- 覚え書き
- 他のブランチ、リリース、コミットのスナップショットは GitHub および 公式ダウンロードページ で見つけられる。
構成とビルド
- ビルドディレクトリを作成する:
mkdir -p build && cd build
- Configure - generate build scripts for the preferred build system:
- make の場合...
- ... または ninja の場合:
- Build - run actual compilation process:
- make を使う場合...
- ... または ninja:
- 覚え書き
- 構成 (Configure) プロセスは、ライブラリの依存関係を満たすためにインターネットからいくつかのファイルをダウンロードすることがあり、接続に失敗すると一部のモジュールや機能が無効化されたり、異なる動作をしたりすることがある。詳細および完全な構成オプションのリファレンスについては、OpenCV インストール概要 および OpenCV 構成オプションリファレンス のチュートリアルを参照すること。
- ビルドプロセスで問題が発生した場合は、ビルドディレクトリをクリーンするか作り直してみるとよい。依存関係の無効化、ビルドスクリプトの変更、ソースの別ブランチへの切り替えといった構成の変更はあまりうまく処理されず、ワークスペースが壊れる原因になることがある。
- Make は複数のコンパイルプロセスを並列に実行でき、
-j<NUM> オプションは「<NUM> 個のジョブを同時に実行する」ことを意味する。Ninja は利用可能なプロセッサコア数を自動的に検出するため、-j オプションは不要である。
ビルド結果を確認する
ビルドが成功すると、ライブラリは build/lib ディレクトリに、実行ファイル(テスト、サンプル、アプリ)は build/bin ディレクトリに置かれる:
CMake パッケージファイルはビルドルートに置かれる:
ls OpenCVConfig*.cmake
ls OpenCVModules.cmake
インストール
- 警告
- インストールプロセスは、あらかじめ定められた場所にファイルをコピーし、ごく軽微なパッチ適用を行うだけである。この方法でインストールしても opencv はシステムのパッケージレジストリに統合されないため、例えば opencv を自動的にアンインストールすることはできない。システムパッケージとの競合が起こりうるため、一般ユーザーへのシステム全体へのインストールは推奨しない。
デフォルトでは OpenCV は /usr/local ディレクトリにインストールされ、すべてのファイルが以下の場所にコピーされる:
/usr/local/bin - 実行ファイル
/usr/local/lib - ライブラリ (.so)
/usr/local/cmake/opencv4 - cmake パッケージ
/usr/local/include/opencv4 - ヘッダ
/usr/local/share/opencv4 - その他のファイル(例: XML 形式の学習済みカスケード)
/usr/local は root ユーザーが所有するため、インストールは昇格された権限 (sudo) で実行すべきである:
または
インストールのルートディレクトリは CMAKE_INSTALL_PREFIX 構成パラメータで変更できる。例えば現在のユーザーのローカルディレクトリにインストールするには -DCMAKE_INSTALL_PREFIX=$HOME/.local とする。インストールのレイアウトは OPENCV_*_INSTALL_PATH パラメータで変更できる。詳細は OpenCV 構成オプションリファレンス を参照すること。