トップページ -> コンピュータ設定 -> Windows -> OpenCV 4.1 (最新版) をソースコードからビルドして,インストール(NVIDIA CUDA, cuDNN 対応で高速化可)(Windows 上)
[サイトマップへ], [サイト内検索へ],

OpenCV 4.1 (最新版) をソースコードからビルドして,インストール(NVIDIA CUDA, cuDNN 対応で高速化可)(Windows 上)

サイト構成 連絡先,業績など コンピュータ実習 データの扱い コンピュータ活用 教材(公開) サポートページ

ユースケース: OpenCV を Windows で使いたい.CUDA に対応させたい.OpenCV の最新版を追いかけたい.

ここで行うこと: Windows で OpenCV 4.1 (最新版) をソースコードからビルドする. Python 用の OpenCV パッケージもビルドする.

参考 Web ページ: https://jamesbowley.co.uk/accelerating-opencv-4-build-with-cuda-intel-mkl-tbb-and-python-bindings/

謝辞:OpenCV および関連ソフトウエア類の作者に感謝します


前準備

Python のインストール

※ Python のプログラム作成には、PyCharmなどが便利である.

git, cmake, wget, 7zip のインストール

以下,Windows に Python, git, cmake, wget, 7zip をインストール済みであるものとして説明を続ける.

MSVC ビルドツール (Build Tools) のインストール

前準備として、MSVC ビルドツールのインストールを終えておくこと

MSVC ビルドツール (Build Tools) のインストールについては、 「別のページ」で説明している

(オプション)NVIDIA グラフィックスカード・ドライバ, NVIDIA CUDA ツールキットのインストール

CUDA と連携させたいときは、前もって、 NVIDIA グラフィックスカード・ドライバ, NVIDIA CUDA ツールキットをインストールしておく.

(オプション)OpenBLAS のインストール

OpenBLAS と連携させたいときは、前もって OpenBLAS をインストールしておく

(オプション)VTK のインストール

VTK と連携させたいときは、前もって VTK をインストールしておく

(オプション)Python 2.7 を使いたいとき

Python 2.7 を使うときは、次のような手順で、OpenCVとの連携等に必要になるPythonパッケージをインストールしておく

  1. Windows で,コマンドプロンプトを管理者として実行

  2. Python 2 にnumpy パッケージをインストール
    C:\Python27\Scripts\pip install --no-deps -U numpy
    

  3. Python の numpy, flake8 パッケージをインストール
    pip install -U numpy
    pip install -U flake8
    

OpenCV 4.1のインストール

OpenCV を C:\opencv, C:\opencv_contrib, にインストールする

  1. VS 2019用 x64 Native Tools コマンドプロンプトを開く

    Windows のメニューで「Visual Studio 2019」の下の「x64 Native Tools コマンドプロンプト (Command Prompt)」(あるいは類似名のもの)を選ぶ

    ※ 「x64 Native Tools コマンドプロンプト (Command Prompt)」がないときは, MSVC ビルドツールのインストールを行う. MSVC ビルドツールのインストール手順は,「別のページ」で説明している.

  2. ディレクトリを削除する
    mkdir C:\tools
    cd C:\tools
    rmdir /s /q opencv
    rmdir /s /q opencv_contrib
    

  3. OpenCV と OpenCV contrib のソースコードをダウンロード
    cd C:\tools
    git clone https://github.com/opencv/opencv.git
    git clone https://github.com/opencv/opencv_contrib.git
    

  4. Python 3 のバージョンを調べる

    バージョン 3.6 系列なのか、バージョン 3.7 系列なのか、調べる.この情報はあとで使う.

    下の実行例では、Python のバージョンは 3.7 系列(3.7.3) である

    python --version
    

  5. Python 3 の場所を調べる

    C:\Users\user\AppData\Local\Programs\Python\Python37\Python.exe」のように表示される.この結果は,あとの設定で使う.

    where python
    

  6. cmake の実行

    cmake でのオプションについて

    cmake の実行手順例は次の通り

    cd c:\tools
    cd opencv
    rmdir /s /q build
    mkdir build
    cd build
    del CMakeCache.txt
    "C:\Program Files\Cmake\bin\cmake" -G "Visual Studio 16 2019" -T host=x64 ^
    -DCMAKE_BUILD_TYPE=RELEASE ^
    -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_pytbhon2=ON ^
    -DPYTHON_DEFAULT_EXECUTABLE=C:/Users/user/AppData/Local/Programs/Python/Python37/python.exe ^
    -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 ^
    -DBUILD_opencv_python3=ON ^
    -DPYTHON3_EXECUTABLE=C:/Users/user/AppData/Local/Programs/Python/Python37/python.exe ^
    -DPYTHON3_INCLUDE_DIR=C:/Users/user/AppData/Local/Programs/Python/Python37/include ^
    -DPYTHON3_LIBRARY=C:/Users/user/AppData/Local/Programs/Python/Python37/libs/python37.lib ^
    -DPYTHON3_NUMPY_INCLUDE_DIRS=C:/Users/user/AppData/Local/Programs/Python/Python37/lib/site-packages/numpy/core/include ^
    -DBUILD_EXAMPLES=ON ^
    -DWITH_OPENGL=ON ^
    -DOPENCV_ENABLE_NONFREE=OFF ^
    ..
    

    cmake でのオプションの調整

  7. cmake の実行結果の確認

    Python 2, Python 3 のところが自動設定されるので確認する.

    ※ 下図のとおりになるとは限らない.

    ※ 最後のコマンドの実行の結果,エラーメッセージが出た場合には,自動設定がうまくいっていない.設定を変えてやり直す

    ※ 但し,Python 2 を使わない場合,Python 3 を使わない場合は,Python の部分がうまく設定されていなくても無視すること.

  8. ソースコードからビルドし、インストールする
    cmake --build . --config RELEASE --target INSTALL
    

  9. 結果の確認

    エラーメッセージが出ていないことを確認.

    ※ 黄色の警告メッセージは無視しても良い

    cmake の設定で,NVIDIA CUDA ツールキット, NVIDIA cuDNN を使うように設定したときは、次のような結果になる

  10. Windowsのシステム環境変数Pathの設定

    次を追加する

    C:\Tools\opencv\build\bin\release
    

  11. Python 関係のファイルもインストールされていることを確認

    dir C:\Users\user\AppData\Local\Programs\Python\Python37\lib\site-packages\cv2
    

    ※ Python 関係のファイルがインストールされていない場合でも,Python ローダ (python loader) を使用することは推奨しない.(Python ローダの利用では,エラーが出たときに,Python のインストールからやり直す可能性がある.Python ローダをよく知らずに実行するのは避けること)

  12. Python でOpenCV のバージョン確認

    python -c "import cv2; print( cv2.__version__ )"
    

    ※ このとき 「Original error was: DLL failed: 指定されたモジュールが見つかりません」 というエラーメッセージが出ることがある.

    • Windows のシステム環境変数 Path に「C:\Tools\Anaconda3\Library\bin」、「C:\Tools\opencv\build\bin\release」 を追加してから、 新しいコマンドプロンプトで実行してみる
  13. OpenCV の「cmake でのオプション」に VTK, OpenNI2, OpenBLAS を使うように設定したとき、このメッセージが出ることがあります. システム環境変数 Path の設定で直ると思っていますが、確認できていません。

ここから先は書きかけ
    ANT_DIR
    GSTREAMER_DIR


問い合わせ先: 金子邦彦(かねこ くにひこ)