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

【概要】 Windows向けOpenCV 4.6.0インストールガイド。まずVisual Studio/Build ToolsでC++開発環境を導入。次にOpenCVをダウンロード・展開し、環境変数PathとOPENCV_DIRを設定。C++とPythonサンプルで画像表示し動作確認。パス名やバージョンによるファイル名の違いに注意。

補足: 最新バージョンについて

この記事では OpenCV 4.6.0 のインストール手順を説明しています。 現在リリースされている新しいバージョン(例: 4.10.0 など)でも、基本的なインストールや環境設定の手順はほぼ同じです。 ただし、バージョンによって以下の点が異なる場合がありますのでご注意ください。

  • ダウンロードするファイル名: opencv-X.X.X-vcXX.exe のバージョン番号 (X.X.X) や対応コンパイラ (vcXX) 部分。
  • C++でリンクするライブラリファイル名: opencv_worldXXX.lib の数字 (XXX) 部分。
  • 推奨されるVisual Studioのバージョン。
  • インストールしたいバージョンの正確なファイル名やシステム要件については、必ず OpenCV公式サイトや GitHubリリースページ(https://github.com/opencv/opencv/releases) で最新情報をご確認ください。

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

【OpenCV の公式情報】

OpenCV を用いた C++ プログラム開発のための準備

Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)または Visual Studio 2022 のインストール(Windows 上)

インストールの判断Build Tools for Visual Studio は,開発ツールセットである. Visual Studio は統合開発環境であり,いくつかの種類があり,Build Tools for Visual Studioの機能を含むか連携して使用するものである.インストールは以下の基準で判断してください:

不明な点がある場合は,Visual Studio 全体をインストール を行う方が良い.

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

  1. Windows で,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)

    次のコマンドを実行

    次のコマンドは,Build Tools for Visual Studio 2022と VC2015 再配布可能パッケージをインストールするものである.

    winget install --scope machine Microsoft.VisualStudio.2022.BuildTools
    winget install --scope machine Microsoft.VCRedist.2015+.x64
    
  2. Build Tools for Visual Studio 2022 での C++ によるデスクトップ開発,CLI,ATL,MFC のインストール(Windows 上)
    1. Visual Studio Installer の起動

      起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.

    2. Visual Studio Build Tools 2022 で「変更」を選ぶ.
    3. C++ によるデスクトップ開発」をクリック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」,「ATL」,「MFC」をチェックする.その後,「変更」をクリック.

Visual Studio のインストール(Windows 上)

  1. Windows で,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)

    次のコマンドを実行

    1. コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
    2. インストールコマンドの実行
      winget install Microsoft.VisualStudio.2022.Community --scope machine --override "--add Microsoft.VisualStudio.Workload.NativeDesktop Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core Microsoft.VisualStudio.Component.VC.CLI.Support Microsoft.VisualStudio.Component.CoreEditor Microsoft.VisualStudio.Component.NuGet Microsoft.VisualStudio.Component.Roslyn.Compiler Microsoft.VisualStudio.Component.TextTemplating Microsoft.VisualStudio.Component.Windows.SDK.Latest Microsoft.VisualStudio.Component.VC.Tools.x86.x64 Microsoft.VisualStudio.Component.VC.ATL Microsoft.VisualStudio.Component.VC.ATLMFC"
      winget install Microsoft.VisualStudio.2022.Community --scope machine Microsoft.VCRedist.2015+.x64
      

      インストールされるコンポーネントの説明:

      • NativeDesktop:C++によるデスクトップアプリケーション開発のためのワークロード一式
      • NativeDesktop.Core:C++デスクトップ開発に必要な基本コンポーネント群
      • VC.CLI.Support:マネージドコードとネイティブコードの統合開発を可能にするC++/CLIサポート
      • CoreEditor:コード編集,デバッグ,検索などの基本機能を提供するVisual Studioのコアエディタ
      • NuGet:.NETライブラリの依存関係を管理するパッケージ管理システム
      • Windows.SDK.Latest:Windows 向けアプリケーション開発用SDK(Software Development Kit)
      • VC.Tools.x86.x64:32ビット及び64ビット向けC++コンパイラとビルドツール
      • VC.ATL:Windowsコンポーネント開発用のActive Template Library
      • VC.ATLMFC:デスクトップアプリケーション開発用のMicrosoft Foundation Class Library

      システム要件と注意事項:

      • 管理者権限でのインストールが必須
      • 必要ディスク容量:10GB以上
      • 推奨メモリ:8GB以上のRAM
      • インストール過程でシステムの再起動が要求される可能性がある
      • 安定したインターネット接続環境が必要

      追加のコンポーネントが必要な場合は,Visual Studio Installerを使用して個別にインストールすることが可能である.

    3. インストール完了の確認
      winget list Microsoft.VisualStudio.2022.Community
      

      トラブルシューティング:

      インストール失敗時は,以下のログファイルを確認:

      %TEMP%\dd_setup_<timestamp>.log
      %TEMP%\dd_bootstrapper_<timestamp>.log
  2. Visual Studio での C++ によるデスクトップ開発,CLI のインストール(Windows 上)
    1. Visual Studio Installer の起動

      起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.

    2. Visual Studio Community 2022 で「変更」を選ぶ.
    3. C++ によるデスクトップ開発」をチェック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」をチェックする.その後,「インストール」をクリック.

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

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

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

  2. バージョンを選ぶ

    下図では,OpenCV 4.6.0 を選んで, 「Assets」を展開しています.

    他のバージョンを選んだ場合でも,これ以降のインストール手順はほぼ同じになります.

  3. Windows 版が欲しいので「opencv-4.6.0-vc14_vc15.exe」というような名前のファイルを選びます.

    (補足: `vc14` はVisual Studio 2015、`vc15` はVisual Studio 2017のコンパイラに対応したビルドであることを示します。通常、新しいバージョンのVisual Studio(例: 2019, 2022)でもこれらのバイナリを利用可能です)

  4. ダウンロードが始まります.
  5. ダウンロードした .exe ファイルを実行します.これは自己解凍形式のアーカイブです.
  6. 展開(解凍)先を指定します.既定(デフォルト)の場所でも構いませんが、後で分かりやすい場所に移動することを推奨します.展開(解凍)先は覚えておきます.「Extract」をクリックします.
  7. 展開(解凍)が終わると,指定した展開(解凍)先に,「opencv」というディレクトリができ,その中にファイル群が生成されるので確認します.
  8. 展開してできた「opencv」ディレクトリを,開発で使いやすい場所(例: `c:\opencv`)に移動またはコピーします.このパスは後の環境変数設定やプログラムで使用します.

    ここでは,「c:\opencv」にファイルを置くことにしています. このパスは任意に変更可能ですが,注意点として,パス名に日本語(全角文字)やスペースが含まれていると、ビルド時などに予期せぬエラーが発生することがあります.できるだけASCII文字のみで構成された短いパス名(例: `c:\tools\opencv` など)を使用することを強く推奨します.

  9. (環境変数 Path の設定)Windowsシステム環境変数 Pathに,OpenCVの実行ファイル(.dllなど)があるディレクトリを追加します.これにより,コマンドプロンプトなどから `opencv_version` コマンドなどを直接実行できるようになります.

    ここでは、c:\opencv\build\binc:\opencv\build\x64\vc15\bin を追加します.

    Windows で,コマンドプロンプト管理者権限で起動します(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択).

    次の PowerShell コマンドを実行します.

    c:\opencv」の部分は,実際に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\vc15\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    

    (補足: これらのコマンドはシステム環境変数Pathの末尾に指定されたパスを追加します.Windowsの「システムのプロパティ」から「環境変数」設定画面を開き、手動で編集することも可能です.)

  10. (環境変数 OPENCV_DIR の設定)Windowsシステム環境変数 OPENCV_DIR に,OpenCVのビルドディレクトリを設定します.これは,CMakeなどのビルドツールがOpenCVライブラリを見つけるために参照されることがあります.

    ここでは、c:\opencv\build を設定します.

    Windows で,コマンドプロンプト管理者権限で起動します(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択).

    次の PowerShell コマンドを実行します.

    c:\opencv\build」の部分は,実際にOpenCVディレクトリを置いた場所に合わせてください.

    powershell -command "[System.Environment]::SetEnvironmentVariable(\"OPENCV_DIR\", \"c:\opencv\build\", \"Machine\")"
    

    (補足: このコマンドはシステム環境変数OPENCV_DIRを新規作成または上書きします.Windowsの「システムのプロパティ」から「環境変数」設定画面を開き、手動で追加・編集することも可能です.)

  11. opencv_version コマンドへのパスが通り、正しく実行できるかを確認します.

    そのために,**新しく** Windowsコマンドプロンプトを開き(環境変数の変更を反映させるため),次のコマンドを実行します.

    まず、`where` コマンドで `opencv_version.exe` の場所が表示されるか確認します(環境変数Pathの設定確認). 次に、`opencv_version` コマンドを実行し、インストールしたバージョン(この例では 4.6.0)が表示されることを確認します.

    where opencv_version
    # 出力例: c:\opencv\build\x64\vc15\bin\opencv_version.exe など
    
    opencv_version
    # 出力例: 4.6.0
    

    エラーメッセージが表示されず、上記のようにバージョン番号が表示されれば設定は成功です.

OpenCV を用いた動作確認

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

**注意:** 以下のコードは、OpenCVの `sources` パッケージに含まれるサンプル画像 `fruits.jpg` を使用します。このファイルが存在しない場合(例: opencv-X.X.X-vc14_vc15.exe のみダウンロードした場合)や、OpenCVを別の場所に展開した場合は、`cv::imread` の引数を適宜修正してください。ご自身で用意した画像ファイルのパスを指定するか、OpenCVのGitHubリポジトリ等から `sources/samples/data` ディレクトリをダウンロードして配置してください。

以下の内容を `a.cpp` というファイル名で保存します.

#include 

int main(int argc, char* argv[])
{
    // 画像ファイルのパスは環境に合わせて変更してください
    cv::Mat bgr = cv::imread("c:/opencv/sources/samples/data/fruits.jpg");

    if(bgr.empty()) {
        // 画像が読み込めなかった場合の処理
        printf("Error: Image not loaded.\n");
        return -1;
    }

    cv::imshow("Image Display", bgr); // ウィンドウタイトルを追加
    cv::waitKey(0); // キー入力待ち
    cv::destroyAllWindows(); // すべてのウィンドウを閉じる
    return 0;
}

(コード例に、画像読み込み失敗時のチェックとウィンドウタイトルを追加しました。)

Windows では,Visual Studio の x64 Native Tools コマンドプロンプトを使います.(このコマンドプロンプトは、C++のコンパイルに必要な環境変数(コンパイラやライブラリへのパスなど)が設定済みのため便利です).Windows のスタートメニューで検索して起動できます.

`a.cpp` を保存したディレクトリ(ここでは例として `C:\opencv\sources\samples\data`)に移動し、次のように実行してコンパイルと実行を行います.

cd C:\opencv\sources\samples\data
notepad a.cpp
cl /I"c:\opencv\build\include" a.cpp /EHsc /link /LIBPATH:"c:\opencv\build\x64\vc15\lib" opencv_world460.lib
.\a.exe

コンパイルコマンド (`cl`) のオプション説明:

コンパイルが成功すると `a.exe` が生成されます.`.\a.exe` を実行すると画像表示が行われます.表示された画面をクリックし,なにかのキーを押すとウィンドウが閉じます.

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

注意: 通常、Python で OpenCV を使うときは,pip でのインストール (`pip install opencv-python`) が最も簡単で推奨されます.それは別ページ »で説明されており、依存関係も自動で管理されます.

ここで説明する システムの環境変数 PYTHONPATH を設定する方法 は、pip管理外のOpenCV(例えば、自分でビルドしたものや、このページの手順でダウンロード・展開したもの)を使用したい場合、特に「最新の機能を試したい」などの限定的な状況で役立ちます.ただし、pip でインストールしたパッケージと競合したり、環境管理が複雑になる可能性があるため、通常の使用には推奨されません.試用が終わったら,システムの環境変数 PYTHONPATH の設定を元に戻す(追加したパスを削除する)ことを検討してください.

  1. Windows で,コマンドプロンプト管理者権限で起動します(環境変数を設定するため).
  2. numpy のインストール(OpenCV Python バインディングは NumPy に依存しています)

    すでにインストールされている場合は不要ですが、最新版に更新しておくと良いでしょう。

    python -m pip install -U numpy
    
  3. OpenCV の Python 用のファイルがあるディレクトリを確認します.

    通常、`c:\opencv\build\python\cv2\` のようなパスにあります. コマンドプロンプトで、OpenCVを展開したディレクトリ内の `build\python` ディレクトリに移動します.

    cd c:\opencv\build\python <-- 「c:\opencv」は実際のパスに合わせる
    
  4. そのディレクトリ内に `cv2` という名前のサブディレクトリがあるか確認します.

    この `cv2` ディレクトリ内に Python バインディングの実体(例: `cv2.pyd`)が含まれています.

    dir /w
    
  5. システムの環境変数 PYTHONPATH に、上記で確認した **`cv2` ディレクトリの親ディレクトリ**(この例では `c:\opencv\build\python`)を追加します.

    これにより、Pythonインタープリタが `pip` で管理されていない場所にあるOpenCVモジュール(ここではダウンロード・展開した `cv2` モジュール)を見つけられるようになります.

    Windows で,コマンドプロンプト管理者権限で起動します.

    次の PowerShell コマンドを実行します.

    c:\opencv\build\python」の部分は,実際の OpenCV の Python バインディングがあるディレクトリの **親ディレクトリ** に合わせてください.

    powershell -command "$oldpythonpath = [System.Environment]::GetEnvironmentVariable(\"PYTHONPATH\", \"Machine\"); $oldpythonpath += \";c:\opencv\build\python\"; [System.Environment]::SetEnvironmentVariable(\"PYTHONPATH\", $oldpythonpath, \"Machine\")"
    

    (補足: このコマンドはシステム環境変数PYTHONPATHの末尾に指定されたパスを追加します.Windowsの「システムのプロパティ」から「環境変数」設定画面を開き、手動で編集することも可能です.)

  6. サンプルとして OpenCV のサンプルデータ の中の fruits.jpg を使います.

    **注意:** このファイルが存在しない場合(例: `sources` パッケージを含まない .exe を使用した場合)や、OpenCVを別の場所に展開した場合は、後述の Python コード内の `cv2.imread` の引数を適宜修正してください。ご自身で用意した画像ファイルのパスを指定するか、OpenCVのGitHubリポジトリ等から `sources/samples/data` ディレクトリをダウンロードして配置してください。


    c:\opencv\sources\samples\data にあると仮定します.
  7. Python プログラムの実行

    環境変数を反映させるために、**新しく** コマンドプロンプトを開いて Python を起動します.

    Python プログラムの実行方法:

    • Windows ではコマンドプロンプトで python と入力します.(Python ランチャーがインストールされていれば py でも可).
    • Ubuntu など Linux 環境では python3 と入力することが一般的です.

    Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)を使うと、コードの編集や実行がより便利になります.

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

    Python インタプリタを起動します:

    python
    

    Python インタプリタ内で、以下のコードを一行ずつ実行します:

    import cv2
    # 画像ファイルのパスは環境に合わせて変更してください
    bgr = cv2.imread('c:/opencv/sources/samples/data/fruits.jpg')
    
    # 画像が正しく読み込めたか確認 (重要)
    if bgr is None:
        print("Error: Could not open or find the image.")
    else:
        cv2.imshow("Image Display", bgr) # ウィンドウタイトルを指定
        cv2.waitKey(0) # キー入力待ち
        cv2.destroyAllWindows() # すべてのウィンドウを閉じる
    

    (コード例に、画像読み込み失敗時のチェックとウィンドウタイトルを追加しました。)

    画像が正しく読み込めていれば、画像が表示されるので確認してください. 表示された画像ウィンドウの中をクリックしてから,何かのキーを押すとウィンドウが閉じます.