OpenCVとはインテルが開発・公開したオープンソースのコンピュータビジョン向けライブラリです。
本記事では、OpenCVって何?か気になったので検索してみた方や、これからOpenCVを触ってみようか検討しているといった初心者の方向けに概要とGitHubからのコード取得方法についてご紹介していきます。
OpenCVとは
OpenCVは「Open Source Computer Vision Library」の略称で、画像や動画などの処理で利用する機能がまとめられたライブラリです。
WindowsやmacOS・Unix系OSなど各種プラットフォームに対応しており、C/C++, Java, Pythonなどのプログラミング言語で利用することが出来ます。
主な機能
OpenCVを使用することで下記のような機能を利用することが可能です。
画像処理
- 勾配、エッジ、コーナー
- サンプリング、 補間、 幾何変換
- モルフォロジー演算
- フィルタと色変換
- ピラミッドとその応用
- 画像分割、 領域結合、 輪郭検出
- 画像と形状のモーメント
- 特殊な画像変換
- ヒストグラム
- マッチング
- ラベリング
構造解析
- 輪郭処理
- 計算幾何
- 平面再分割
モーション解析と物体追跡
- 背景統計量の累積
- モーションテンプレート
- 物体追跡
- オプティカルフロー
- 推定器
パターン認識
- 物体検出
カメラキャリブレーションと3次元再構成
- カメラキャリブレーション
- 姿勢推定
- エピポーラ幾何
機械学習
- 単純ベイズ分類器
- k近傍法
- サポートベクターマシン
- 決定木
- ブースティング
- Random forest
- EMアルゴリズム
- ニューラルネットワーク
ユーザーインターフェース
- シンプルなGUI
- 画像の読み込みと保存
- ビデオ入出力
- OpenGL/Direct3D相互運用
OpenCVをGitHubから取得してみよう
OpenCVをインストールする方法はいくつかの方法がありますが、今回はGitHubからソースコードを取得した上でビルドする方法をご紹介していきます。
事前準備
事前準備としてコンパイラに依存しないビルド自動化ツールである「CMake」をインストールしておきます。
CMakeのインストール方法は様々ですが、Homebrewが手軽に利用出来るのでサンプルでは下記のコマンドでインストールしたいと思います。
brew install cmake
「cmake」コマンドを実行して下記のようなUsageが表示されればインストール完了です。
$cmake Usage cmake [options] cmake [options] cmake [options] -S -B
ソースコードの取得
では実際にGitHubからOpenCVのソースコードを入手していきます。
任意のフォルダで下記コマンドを実行してください。
git clone https://github.com/opencv/opencv
クローンが完了していることを確認しましょう。
Receiving objects: 100% (295970/295970), 486.17 MiB | 3.06 MiB/s, done. Resolving deltas: 100% (205764/205764), done. Updating files: 100% (6920/6920), done.
更にセットで利用されることの多い「contrib」パッケージについてもクローンしておきます。
git clone https://github.com/opencv/opencv_contrib
こちらも100%でdoneの表示が出ていれば完了です。
Receiving objects: 100% (35693/35693), 131.37 MiB | 3.17 MiB/s, done. Resolving deltas: 100% (21924/21924), done.
ビルド実行
取得したソースコードをビルドしていくわけですが、まずビルド用のフォルダをopencvフォルダ配下に作成して移動しておきます。
cd opencv mkdir build cd build
では実際にビルドを実行してみましょう。
まずはビルド構成の準備です。
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..
下記のように作成したビルドフォルダに書き込みが行われている表示が出ればOKです。
-- Configuring done -- Generating done -- Build files have been written to: xxxx/git/opencv/build
ビルド構成を生成したらパッケージをコンパイルしていきます。
make -j $(($(nproc) + 1))
100%になってからもいくつかの処理が継続されますが、コンパイルの最後に下記のような表示が出て、再度コマンド入力が出来るようになっていれば完了です。
.... [100%] Built target opencv_version [100%] Building CXX object apps/model-diagnostics/CMakeFiles/opencv_model_diagnostics.dir/model_diagnostics.cpp.o [100%] Linking CXX executable ../../bin/opencv_model_diagnostics [100%] Built target opencv_model_diagnostics
コンパイルが完了したらパッケージを下記コマンドでインストールします。
sudo make install
インストールにはそれほど時間が掛かりません。最後もInstallingのままですが問題なく完了しています。
..... -- Installing: /usr/local/bin/opencv_interactive-calibration -- Installing: /usr/local/bin/opencv_version -- Installing: /usr/local/bin/opencv_model_diagnostics
さいごに: GitHubからOpenCVのソースコードを取得して画像処理にチャレンジしよう
本記事では、オープンソースのコンピュータービジョンライブラリとして提供されている「OpenCV」をGitHubから取得しインストールする手順についてご紹介してきました。
画像処理というとなかなか難しそうなイメージも強く、実務・趣味問わず触れたことがない方も多いかと思います。
OpenCVは様々なプラットフォームに対応しており、無料で利用可能なライブラリですので、ぜひ積極的に活用して画像処理にチャレンジしてみてください。
コンパイルは環境にもよりますが、ある程度の時間掛かります。