OpenCV 4.9.0 のインストール,動作確認(Windows 上)

要約】 Windows上でOpenCV(Open Source Computer Vision Library)をインストールし,動作確認を行う手順を説明している.主な内容としては,GitHubからのダウンロード,ファイルの展開と配置,システム環境変数の設定である.特に,PATHやOPENCV_DIRなどの環境変数の設定方法が具体的に示している.動作確認では,C++とPythonの両方で画像表示プログラムの例を示し,Visual StudioのコマンドプロンプトやPythonインタープリタを使用したコンパイルと実行方法を説明している.また,Pythonでの利用に関しては,pipを使用したインストール方法も言及されている.各ステップでは,具体的なコマンドラインの操作が示し,確認手順も示している.

目次

  1. 前準備
  2. OpenCV 4.9.0 Windows版のダウンロードとインストール
  3. OpenCV を用いた画像表示の例

OpenCV

【サイト内の関連ページ】

【OpenCV の公式情報】

前準備

Build Tools for Visual Studio 2022 のインストール(Windows 上)

Build Tools for Visual Studio は,Visual Studio の IDE を含まない C/C++ コンパイラ,ライブラリ,ビルドツール等のコマンドライン向け開発ツールセットである。

以下のコマンドを管理者権限コマンドプロンプトで実行する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。

REM VC++ ランタイム
winget install --scope machine --id Microsoft.VCRedist.2015+.x64 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet /norestart"

REM Build Tools + Desktop development with C++(VCTools)+ 追加コンポーネント(一括)
winget install --id Microsoft.VisualStudio.2022.BuildTools --accept-source-agreements --accept-package-agreements ^
    --override "--passive --wait --norestart --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.ComponentGroup.ClangCL --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.Windows11SDK.26100"

--add で追加されるコンポーネント

上記のコマンドでは,まず Build Tools 本体と Visual C++ 再頒布可能パッケージをインストールし,次に setup.exe を用いて以下のコンポーネントを追加している。

インストール完了の確認

winget list Microsoft.VisualStudio.2022.BuildTools

上記以外の追加のコンポーネントが必要になった場合は Visual Studio Installer で個別にインストールできる。

Visual Studio の機能を必要とする場合は、追加インストールできる。

OpenCV 4.9.0 Windows版のダウンロードとインストール

  1. GitHub の OpenCV の Webページを開く

    https://github.com/opencv/opencv/releases

  2. バージョンを選ぶ

    下図では,OpenCV 4.9.0 を選んで, 「Assets」を展開している.

    他のバージョンを選んだ場合でも,これ以降のインストール手順はほぼ同じになる
  3. Windows 版が欲しいので「opencv-4.9.0-windows.exe」というような名前のファイルを選ぶ.
  4. ダウンロードが始まる
  5. ダウンロードした .exe ファイルを実行する
  6. 展開(解凍)先は自動設定される.既定(デフォルト)のままでよい.展開(解凍)先は覚えておく.「Extract」をクリック
  7. 展開(解凍)が始まる.
  8. 展開(解凍)が終わると,展開(解凍)先に,「opencv」というディレクトリができ,その中にファイルができるので確認する
  9. 展開してできたディレクトリを, 分かりやすいディレクトリの下に丸ごとコピーする.
    ここでは,「c:\opencv」にファイルを置くことにしている. この「c:\opencv」 は何に変えてもよいが,分かりやすくて,日本語を含まないものがよい
  10. Windowsシステム環境変数 Pathに,c:\opencv\build\bin, c:\opencv\build\x64\vc16\bin追加することにより,パスを通す

    Windows で,管理者権限コマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)。

    次のコマンドを実行.

    c:\opencv」は,実際にコピーしたディレクトリに合わせること.

    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\opencv\build\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\opencv\build\x64\vc16\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    
  11. Windowsシステム環境変数 OPENCV_DIR に,c:\opencv\build を設定

    Windows で,管理者権限コマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)。

    次のコマンドを実行

    powershell -command "[System.Environment]::SetEnvironmentVariable(\"OPENCV_DIR\", \"c:\opencv\build\", \"Machine\")"
    
  12. opencv_version にパスが通っていることを確認する

    そのために,新しく Windowsコマンドプロンプトを開き,次のコマンドを実行する.

    エラーメッセージが出なければOK.

    where opencv_version
    opencv_version
    

OpenCV を用いた画像表示の例

OpenCV で画像表示を行う C++ プログラム

  1. Windows で,コマンドプロンプトを実行
  2. OpenCV のサンプルデータ の中の fruits.jpg を使う
    c:\opencv\sources\samples\data にある
  3. 次のコマンドを実行し,メモ帳を開く.
    cd /d c:%HOMEPATH%
    notepad a.cpp
    
  4. 次のプログラムを,ファイル名 a.cpp で保存.
    このプログラムは,OpenCVライブラリを使用して、指定された画像ファイル(fruits.jpg)を読み込み、画面に表示する。キー入力があるまで画像を表示し続け、キー入力後に画面を閉じてプログラムを終了する。
    #include <opencv2/opencv.hpp>
    
    int main(int argc, char* argv[])
    {
        cv::Mat bgr = cv::imread("c:/opencv/sources/samples/data/fruits.jpg");
        cv::imshow("", bgr);
        cv::waitKey(0);
        cv::destroyAllWindows();
        return 0;
    }
    
  5. ビルドと実行

    Windows では,Visual Studio の x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt) を使う(Windows のスタートメニューで起動できる).「x64」は,64ビット版の意味である.次のように実行して,C++ のプログラムファイル a.cpp を作り,実行する.
    cd /d c:%HOMEPATH%
    cl /I"c:\opencv\build\include" a.cpp /link /LIBPATH:"c:\opencv\build\x64\vc16\lib" opencv_world490.lib
    .\a.exe
    

    プログラム実行により,画像表示が行われる.画面をクリックし,なにかのキーを押して閉じる.

OpenCV で画像表示を行う Python プログラム

注意: Python で OpenCV を使うときは,pip でのインストールが良い. それは別ページ »で説明簡単に行うことができる.

ここでは,「最新の OpenCV を試したい」などのときに役立つと考えて, システムの環境変数 PYTHONPATH の設定により,OpenCV を使う方法を説明する. pip の管理外のファイルにパスを通すことになるので,あとで混乱が生じる可能性がある. 試用が終わったら,システムの環境変数 PYTHONPATH の設定を元に戻すことも検討すること.

  1. 以下のコマンドを管理者権限コマンドプロンプトで実行する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。
  2. numpy のインストール
    python -m pip install -U numpy
    
  3. OpenCV の Python 用のファイルがあるディレクトリを確認したい.

    カレントディレクトリを移動する操作

    cd c:\opencv\build\python
    
  4. ファイルを確認

    cv2」というディレクトリ(フォルダ)があれば OK.

    dir /w
    
  5. システムの環境変数 PYTHONPATH に「c:\opencv\build\python」を追加する

    OpenCV の Python 用のファイルがあるディレクトリを設定する.

    Windows で,管理者権限コマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)。

    次のコマンドを実行.

    powershell -command "$oldpythonpath = [System.Environment]::GetEnvironmentVariable(\"PYTHONPATH\", \"Machine\"); $oldpythonpath += \";c:\opencv\build\python\"; [System.Environment]::SetEnvironmentVariable(\"PYTHONPATH\", $oldpythonpath, \"Machine\")"
    
  6. OpenCV のサンプルデータ の中の fruits.jpg を使う
    c:\opencv\sources\samples\data にある
  7. Python プログラムの実行
    Python プログラムの実行

    Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である.

    Python のまとめ: 別ページ »にまとめ

    python
    
    このプログラムは、OpenCVを使用して画像ファイル 'fruits.jpg' を読み込み、ウィンドウに表示します。キー入力があるまで画像が表示され続け、キー入力後にウィンドウが閉じます。
    import cv2
    bgr = cv2.imread('c:/opencv/sources/samples/data/fruits.jpg')
    cv2.imshow("", bgr)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    画像が表示されるので確認. このあと,ウインドウの右上の「x」をクリックしない.画面の中をクリックしてから,何かのキーを押して閉じる

【まとめ】WindowsでのOpenCVのインストールから,C++とPythonでの動作確認までの一連のプロセスを説明.