はじめに
OpenCVを習得するため、公式チュートリアルを一通り実施した記録を執筆します。
なお操作性向上のため、実行環境は普段使いなれているWindows上で行います。
OpenCVのバージョンは4.5.4、ビルド時の最新バージョンを採用。
目次
Chapter1 Windows環境
OS; Windows11
OpenCV; 4.5.4
Git-bash; 2.23.1
CMake; 3.21.4
開発環境; Visual Studio 2019
それぞれのインストール方法は割愛します。
Chapter2 Introduction to OpenCV
OpenCV installation overview
OpenCV configuration options reference
→ あくまでOverviewとConfiguration options referenceであり、読まなくても進めれそうなのでスキップ。
今回はWindowsを使用するため、Linux
, Java&Android
, Other platforms
も割愛。
Installation on Windows
注意:この記事全般に言えることですが、チュートリアルはWin7など記事とは異なるWinOSでの動作確認をしてます。
当然、まだオフィシャルリリースがされていないWin11での動作保証なんてされているわけがない。__動くことを願うのみ。__よっぽど大丈夫だと思うが。
OpenCVのライブラリをインストールするにあたり、3つの方法が紹介されている。
- 予めビルドされたライブラリから取得する方法
- CMakeとGit-bashを使ってビルドする方法
- ソースファイルから直接ビルドする方法
本記事では1つ目と2つ目を実施。正直3つ目は面倒くさい。
1つ目が一番楽だが、ビルド時のオプションが設定できないためあまり推奨しない。
予めビルドされたライブラリから取得する方法
Windows用のexeファイルがここで公開されている。
実行するとインストーラーが立ち上がり、解凍先パスを指定すると下記のようなファイル構成で格納される。
今回は執筆のためにダウンロードフォルダ直下に格納しているが、整理整頓のために違うファイルパスへの格納を推奨。(例、C:\lib
)また、前述の通りビルドオプションは設定不可。
最後にOpenCVの環境変数を設定。変数値については環境によって異なりますが、筆者は次のように設定。
変数名OPENCV_DIR
、変数値C:\Users\USERNAME\Downloads\opencv\build\x64\vc15
、C:\Users\USERNAME\Downloads\opencv\build\x64\vc14
CMakeとGit-bashを使ってビルドする方法
はじめに、CMakeとGit-bashをインストールしておく必要あり。それぞれのインストール時、CMakeは環境変数を追加する設定にしておくこと、一方でGit-bashは追加しない設定にしておくこと。(インストール方法詳細は割愛)
次に、Cドライブ直下にlib
フォルダを作成。Git-bashから次のコマンド実行。
mkdir /c/lib
cd /c/lib
次にシェルスクリプトinstallOCV.sh
をc:/lib
に脳死で作成。
#!/bin/bash -e
myRepo=$(pwd)
CMAKE_GENERATOR_OPTIONS=-G"Visual Studio 16 2019"
#CMAKE_GENERATOR_OPTIONS=-G"Visual Studio 15 2017 Win64"
#CMAKE_GENERATOR_OPTIONS=(-G"Visual Studio 16 2019" -A x64) # CMake 3.14+ is required
if [ ! -d "$myRepo/opencv" ]; then
echo "cloning opencv"
git clone https://github.com/opencv/opencv.git
else
cd opencv
git pull --rebase
cd ..
fi
if [ ! -d "$myRepo/opencv_contrib" ]; then
echo "cloning opencv_contrib"
git clone https://github.com/opencv/opencv_contrib.git
else
cd opencv_contrib
git pull --rebase
cd ..
fi
RepoSource=opencv
mkdir -p build_opencv
pushd build_opencv
CMAKE_OPTIONS=(-DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_DOCS:BOOL=OFF -DWITH_CUDA:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF -DINSTALL_CREATE_DISTRIB=ON)
set -x
cmake "${CMAKE_GENERATOR_OPTIONS[@]}" "${CMAKE_OPTIONS[@]}" -DOPENCV_EXTRA_MODULES_PATH="$myRepo"/opencv_contrib/modules -DCMAKE_INSTALL_PREFIX="$myRepo/install/$RepoSource" "$myRepo/$RepoSource"
echo "************************* $Source_DIR -->debug"
cmake --build . --config debug
echo "************************* $Source_DIR -->release"
cmake --build . --config release
cmake --build . --target install --config release
cmake --build . --target install --config debug
popd
ここでビルドオプションを設定できます。
詳しくはOpenCV configuration options reference
の項目で書いてある通りですが、量が多すぎるのでここでは割愛。余裕が出てきたらGPUアクセレーションの設定などをやってみたい。
シェルスクリプト実行後、次のようなファイル構成でビルドが完了。
最後に、OpenCVの環境変数を設定。変数値については環境によって異なりますが、筆者は次のように設定。
変数名OPENCV_DIR
、変数値C:\lib\install\opencv\x64\vc16
How to build applications with OpenCV inside the "Microsoft Visual Studio"
ここではOpenCVを使ったアプリケーションのビルドを紹介します。
執筆中