OpenCV (Open Computer Vision Library) は, 実時間コンピュータビジョン (real time computer vision) の アルゴリズムと文書とサンプルコードの集まり.
Windows での,OpenCV 最新版をソースコードからビルドして,インストールする手順を説明する.Visual C++ ビルドツールを使用する.Windows の C/C++ で使いたい.CUDA に対応させたい.OpenCV の最新版を追いかけたい場合を想定している.
ユースケース.OpenCVはWindows でも簡単にインストールできるが,自分の環境にあわせてビルドしたい(NVidia CUDA を使うなど)場合は,ソースコードからビルドする.
サイト内の関連ページ
参考 Web ページ: https://jamesbowley.co.uk/accelerating-opencv-4-build-with-cuda-intel-mkl-tbb-and-python-bindings/
謝辞:OpenCV および関連ソフトウエア類の作者に感謝します
Python の URL: http://www.python.org/
インストール手順の詳細は: 別ページで説明している.
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
python -m pip install -U pip setuptools python -m pip install -U jupyterlab jupyter jupyter-console jupytext spyder
python -m pip install -U numpy
Git の URL: https://git-scm.com/
cmake の URL: https://cmake.org/download/
sudo apt -yV install git cmake cmake-curses-gui cmake-gui
Windows での Visual C++ ビルドツール (Build Tools) のインストール手順: 別ページで説明している.
※ GPU とは,グラフィックス・プロセッシング・ユニットの略で、コンピュータグラフィックス関連の機能,乗算や加算の並列処理の機能などがある.
ダウンロードページ
詳細説明
※ CUDA とは,NVIDIA社が提供している GPU 用のプラットフォームである.
ダウンロードページ
TensorFlow 2.1 以上の GPU 版での,NVIDIA CUDA のバージョンは 10.1 が指定されている. TensorFlow 1.15の GPU 版での,NVIDIA CUDA のバージョンは 10.0 が指定されている. 指定されているバージョンより高いものは使わない. その根拠は次のページ. URL: https://www.tensorflow.org/install/source#common_installation_problems
詳細説明
ダウンロードページ
ダウンロードして展開(解凍)したら,パスを通しておくこと.
URL: https://www.tensorflow.org/install/source#common_installation_problems
詳細説明
OpenBLAS と連携させたいときは、前もって OpenBLAS をインストールしておく
VTK と連携させたいときは、前もって VTK をインストールしておく
OpenCV を C:\opencv, C:\opencv_contrib にインストールする
操作の途中でエラーが出たときは, Visual Studio の x64 Native Tools コマンドプロンプトを使い,操作をやり直すと解決する場合がある.
※ その起動は,Windows のメニューで「Visual Studio 20..」の下の「x64 Native Tools コマンドプロンプト (Command Prompt)」(あるいは類似名のもの)を選ぶ
※ 「x64 Native Tools コマンドプロンプト (Command Prompt)」がないときは, Visual C++ ビルドツールのインストールを行う. Visual C++ ビルドツールのインストール手順は,別ページで説明している.
mkdir C:\tools cd C:\tools rmdir /s /q opencv rmdir /s /q opencv_contrib
cd C:\tools git clone -b 4.3.0 https://github.com/opencv/opencv.git
cd C:\tools rmdir /s /q opencv_contrib git clone -b 4.3.0 https://github.com/opencv/opencv_contrib.git
バージョン 3.8 系列なのか、3.7 系列なのか、3.6 系列なのか、調べる.この情報はあとで使う.
下の実行例では、Python のバージョンは 3.8 系列(3.8.3) である
python --version
複数表示されたときは,表示の一番上を使う.この結果は,あとの設定で使う.
where python
cmake でのオプションについて
下の手順は「cmake -G "Visual Studio 16 2019"」とある通り、 Visual Studio 2019 の Visual C++ ビルドツール (Build Tools) を使う場合の手順である.
「C:\tools」ではなくて「C:/tools」のようにしている. 「\」は使わずに「/」を使う. これは、opencv_contrib の modules 下の cmake のエラーを回避するため.
-DBUILD_opencv_python2=ON ^ -DPYTHON2_EXECUTABLE=C:/Python27/python.exe ^ -DPYTHON2_INCLUDE_DIR=C:/Python27/include ^ -DPYTHON2_LIBRARY=C:/Python27/libs/python27.lib ^ -DPYTHON2_NUMPY_INCLUDE_DIRS=C:/Python27/lib/site-packages/numpy/core/include ^
なお「-DPYTHON2_LIBRARY=C:/Python27/libs/python27.lib」は, 実際の自分のパソコンのファイルを検索し、 実際に存在するファイル名を設定すること
次の設定は, 実際の自分のパソコンのファイルを検索し、 実際に存在するファイル名を設定すること
※ 先ほど調べた Python 3 のバージョンが、Python 3.8 系列のときは「python38.lib」となり、 Python 3.7 系列のときは「python37.lib」のようにとなる.
cmake の実行手順例は次の通り
cd c:\tools cd opencv rmdir /s /q build mkdir build cd build del CMakeCache.txt cmake -G "Visual Studio 16 2019" -A x64 -T host=x64 ^ -DCMAKE_BUILD_TYPE=RELEASE ^ -DWITH_CUDA=ON ^ -DOPENCV_EXTRA_MODULES_PATH=C:/tools/opencv_contrib/modules ^ -DINSTALL_TESTS=ON ^ -DINSTALL_C_EXAMPLES=ON ^ -DWITH_PYTHON=ON ^ -DINSTALL_PYTHON_EXAMPLES=ON ^ -DBUILD_opencv_python2=OFF ^ -DPYTHON_DEFAULT_EXECUTABLE="C:/Program Files/Python38/python.exe" ^ -DBUILD_opencv_python3=ON ^ -DPYTHON3_EXECUTABLE="C:/Program Files/Python38/python.exe" ^ -DPYTHON3_INCLUDE_DIR="C:/Program Files/Python38/include" ^ -DPYTHON3_LIBRARY="C:/Program Files/Python38/libs/python38.lib" ^ -DPYTHON3_NUMPY_INCLUDE_DIRS="C:/Program Files/Python38/lib/site-packages/numpy/core/include" ^ -DBUILD_EXAMPLES=ON ^ -DWITH_OPENGL=ON ^ -DOPENCV_ENABLE_NONFREE=OFF ^ ..
cmake でのオプションの調整
例えば,上に書いた cmake でのオプションに、次を付け加えるなどが考えられる.
-DWITH_CUDA=ON ^ -DCUDA_FAST_MATH=ON ^ -DWITH_CUBLAS=ON ^ -DWITH_CUDNN=ON ^ -DWITH_NVCUVID=ON ^ -DOPENCV_DNN_CUDA=ON ^ -DCUDA_ARCH_PTX=7.5 ^
※ 「-DCUDA_ATCH_PTX=7.5」は,CUDA PTX 7.5 用のみをビルドすることにして,ビルド時間短縮のため
※ Intel MKL は,「w_mkl_2019.4.245.exe」を用いてインストール済み,そして,「C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019\windows\redist\intel64_win\tbb\vc_mt」にパスが通っているとする.
上に書いた cmake でのオプションに、次を付け加える
-DWITH_MKL=ON ^ -DMKL_USE_MULTITHREAD=ON ^ -DWITH_TBB=ON ^ -DMKL_WITH_TBB=ON ^
上に書いた cmake でのオプションに、次を付け加える.
※ Windows での VTK のインストール手順は、 「Windows で VTK 最新版をソースコードからビルドして、インストールする(Visual C++ ビルドツール (Build Tools) を使用)」で説明している.
-DWITH_VTK=ON ^ -DVTK_DIR="C:/tools/VTK" ^
上に書いた cmake でのオプションに、次を付け加える.
※ Windows でのインストール手順は、 「Windows で libPCL 1.9.0, Boost, Eigen, OpenNI 2.2, NITE2 のインストール」で説明している.
-DWITH_OPENNI2=ON ^ -DOPENNI2_INCLUDE="C:/Program Files/OpenNI2/include" ^ -DOPENNI2_LIB="C:/Program Files/OpenNI2/lib" ^ -DOPENNI2_REDIST="C:/Program Files/OpenNI2/Redist" ^
上に書いた cmake でのオプションに、次を付け加える.
※ Windows での OpenBLAS のインストールは「OpenBLAS をソースコードからビルドして、インストール(clang, flang を使用)(Windows 上)」で説明している.
-DOpenBLAS_LIB="C:/tools/OpenBLAS/lib/openblas.lib" ^ -DOpenBLAS_INCLUDE_DIR="C:/tools/OpenBLAS/include/openblas" ^ -DWITH_LAPACK=ON ^ -DLAPACK_LIBRARIES="C:/tools/lapack-release/lib/lapack.lib" ^ -DLAPACK_INCLUDE_DIR="C:/tools/lapack-release/CBLAS/include" ^ -DLAPACK_CBLAS_H="C:/tools/lapack-release/CBLAS/include/cblas.h" ^
Python 3 のところが自動設定される(Python 3 を使わない場合は,その設定は無視)
※ 下図のとおりになるとは限らない.
※ 最後のコマンドの実行の結果,エラーメッセージが出た場合には,自動設定がうまくいっていない.設定を変えてやり直す.
cmake --build . --config RELEASE --target INSTALL
エラーが無ければ,インストールが終わっている.エラーメッセージが出ていないことを確認. そして,インストールが終わっていることも確認.
※ 黄色の警告メッセージは無視しても良い
次を追加する
C:\tools\opencv\build\bin\release
実際の Python インストールディレクトリに読み替えて実行すること.
dir "C:\Program Files\Python38\lib\site-packages\cv2"
※ Python 関係のファイルがインストールされていない場合でも,Python ローダ (python loader) を使用することは推奨しない.(Python ローダの利用では,エラーが出たときに,Python のインストールからやり直す可能性がある.Python ローダをよく知らずに実行するのは避けること)
python -c "import cv2; print( cv2.__version__ )"
本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.
問い合わせ先: 金子邦彦(かねこ くにひこ) ![]()