OpenCV 4.5.5 のインストール(Windows 上)

【関連する外部ページ】

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

OpenCV

OpenCV は,実時間コンピュータビジョン (real time computer vision) の アルゴリズムと文書とサンプルコードの集まり.

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

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

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

  2. バージョンを選ぶ

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

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

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

    次のコマンドを実行

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

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

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

    where opencv_version
    

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 の設定

    次のように,OpenCV の Python 用のファイルがあるディレクトリを設定する. ここでは,c:\opencv\build\python を設定している.

    (すでにシステムの環境変数 PYTHONPATH に何かを設定済みのときは, c:\opencv\build\python を追加する)

  6. OpenCV のサンプルデータ の中の fruits.jpg を使う
    c:\opencv\sources\samples\data にある
  7. Pythonの画像表示プログラム

    Python 3.12 のインストール

    Pythonのインストールを行い、Pythonのプログラムを実行する環境を整える。扱う環境は、Windows搭載パソコンである。金子研究室では、Python 3.12.10を推奨する。

    [Windows での Python 3.12 のインストール手順を見るには、ここをクリック]

    Windows での Python 3.12 のインストール

    以下のいずれかの方法でPython 3.12をインストールする。Pythonがインストール済みの場合、この手順は不要である。

    方法 1:winget によるインストール

    インストールコマンドの実行方法

    管理者権限コマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。

    --scope machine を指定することで、システム全体(全ユーザー向け)にインストールされる。このオプションの実行には管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動するとPATHが反映される。

    REM Python 3.12 をシステム領域にインストール
    winget install --id Python.Python.3.12 -e --scope machine --silent --accept-source-agreements --accept-package-agreements --override "/quiet InstallAllUsers=1 PrependPath=1 Include_test=0 Include_pip=1 Include_launcher=1 InstallLauncherAllUsers=1 TargetDir=\"C:\Program Files\Python312\""
    
    REM Python と Scripts を PATH 先頭に追加
    powershell -NoProfile -Command "$p='C:\Program Files\Python312'; $s=\"$p\Scripts\"; $c=[Environment]::GetEnvironmentVariable('Path','Machine'); if((Test-Path $p) -and (';'+$c+';' -notlike \"*;$p;*\") -and (';'+$c+';' -notlike \"*;$s;*\")){[Environment]::SetEnvironmentVariable('Path',\"$p;$s;$c\",'Machine')}"
    

    方法 2:インストーラーによるインストール

    1. Python公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンからWindows用インストーラーをダウンロードする。
    2. ダウンロードしたインストーラーを実行する。
    3. 初期画面の下部に表示される「Add python.exe to PATH」にチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから python コマンドを実行できない。
    4. 「Install Python 3.xx for all users」にチェックを入れ、「Install」をクリックする。

    インストールの確認

    コマンドプロンプトで以下を実行する。

    python --version

    バージョン番号(例:Python 3.12.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していない。

    Python の開発環境 Visual Studio Code のインストールと Python 用の設定

    Python の開発環境Visual Studio Code(プログラムを編集するソフトウェア。以下、VS Code)を整える。

    [Windows での Visual Studio Code のインストールと Python 用の設定手順を見るには、ここをクリック]

    Windows での Visual Studio Code のインストールと Python 用の設定手順

    1. VS Code と拡張機能のインストール

    以下のコマンドにより,既存の VS Code を削除し,全ユーザー共有の設定で再インストールしたうえで,拡張機能(VS Code に機能を追加するソフトウェア)をまとめて導入する.

    インストールコマンドの実行方法

    管理者権限コマンドプロンプトを起動する(手順:Windows キーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして,コマンド全体をコマンドプロンプトにコピー&ペーストする。

    インストールコマンド

    
    REM ============================================================
    REM Microsoft Visual Studio Code
    REM ============================================================
    winget uninstall -e --id Microsoft.VisualStudioCode --silent --disable-interactivity --accept-source-agreements
    rmdir /s /q C:\ProgramData\vscode-extensions 2>nul
    rmdir /s /q "%APPDATA%\Code" 2>nul
    rmdir /s /q "%USERPROFILE%\.vscode" 2>nul
    rmdir /s /q "%LOCALAPPDATA%\Microsoft\vscode-update" 2>nul
    
    REM VS Code をシステム領域に新規インストール
    winget install --scope machine --id Microsoft.VisualStudioCode -e --silent --accept-source-agreements --accept-package-agreements
    
    REM 全ユーザー共有の拡張機能フォルダ
    mkdir C:\ProgramData\vscode-extensions 2>nul
    icacls "C:\ProgramData\vscode-extensions" /grant "Everyone:(OI)(CI)M" /T
    
    REM スタートメニューのショートカットを --extensions-dir 付きで再作成
    rmdir /s /q "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio Code" 2>nul
    del "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio Code.lnk" 2>nul
    powershell -NoProfile -Command "$s=New-Object -ComObject WScript.Shell; $lnk=$s.CreateShortcut('C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio Code.lnk'); $lnk.TargetPath='C:\Program Files\Microsoft VS Code\Code.exe'; $lnk.Arguments='--extensions-dir \"C:\ProgramData\vscode-extensions\"'; $lnk.Save()"
    REM ショートカットの検証
    powershell -NoProfile -Command "$s=New-Object -ComObject WScript.Shell; $lnk=$s.CreateShortcut('C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio Code.lnk'); Write-Host 'TargetPath:' $lnk.TargetPath; Write-Host 'Arguments:' $lnk.Arguments"
    
    REM ファイル / フォルダ右クリックの「Code で開く」を登録
    reg add "HKLM\SOFTWARE\Classes\*\shell\VSCode\command" /ve /d "\"C:\Program Files\Microsoft VS Code\Code.exe\" --extensions-dir \"C:\ProgramData\vscode-extensions\" \"%1\"" /f
    reg add "HKLM\SOFTWARE\Classes\Directory\shell\VSCode\command" /ve /d "\"C:\Program Files\Microsoft VS Code\Code.exe\" --extensions-dir \"C:\ProgramData\vscode-extensions\" \"%1\"" /f
    reg add "HKLM\SOFTWARE\Classes\Directory\Background\shell\VSCode\command" /ve /d "\"C:\Program Files\Microsoft VS Code\Code.exe\" --extensions-dir \"C:\ProgramData\vscode-extensions\" \"%V\"" /f
    
    REM --extensions-dir 付きで起動する code.cmd ラッパを作成
    REM (%* を echo で書くと対話的 cmd で失われるため、PowerShell で [char]37+'*' を書き出す)
    powershell -NoProfile -Command "$pct=[char]37; $q=[char]34; $c='@echo off'+[char]13+[char]10+$q+'C:\Program Files\Microsoft VS Code\bin\code.cmd'+$q+' --extensions-dir '+$q+'C:\ProgramData\vscode-extensions'+$q+' '+$pct+'*'+[char]13+[char]10; [IO.File]::WriteAllText('C:\ProgramData\vscode-extensions\vscode.cmd',$c,[Text.Encoding]::ASCII)"
    
    REM 拡張機能のインストール
    set "CODE=C:\Program Files\Microsoft VS Code\bin\code.cmd"
    "%CODE%" --extensions-dir "C:\ProgramData\vscode-extensions" --uninstall-extension GitHub.copilot
    "%CODE%" --extensions-dir "C:\ProgramData\vscode-extensions" --uninstall-extension GitHub.copilot-chat
    "%CODE%" --extensions-dir "C:\ProgramData\vscode-extensions" --install-extension ms-python.python
    "%CODE%" --extensions-dir "C:\ProgramData\vscode-extensions" --install-extension ms-python.vscode-pylance
    "%CODE%" --extensions-dir "C:\ProgramData\vscode-extensions" --install-extension ms-python.debugpy
    "%CODE%" --extensions-dir "C:\ProgramData\vscode-extensions" --install-extension MS-CEINTL.vscode-language-pack-ja
    "%CODE%" --extensions-dir "C:\ProgramData\vscode-extensions" --install-extension saoudrizwan.claude-dev
    "%CODE%" --extensions-dir "C:\ProgramData\vscode-extensions" --install-extension rust-lang.rust-analyzer
    "%CODE%" --extensions-dir "C:\ProgramData\vscode-extensions" --install-extension tamasfe.even-better-toml
    "%CODE%" --extensions-dir "C:\ProgramData\vscode-extensions" --install-extension anthropic.claude-code
    "%CODE%" --extensions-dir "C:\ProgramData\vscode-extensions" --install-extension almenon.arepl
    "%CODE%" --extensions-dir "C:\ProgramData\vscode-extensions" --list-extensions --show-versions
    echo === セットアップ完了 ===
    

    2. Python インタプリタの選択

    同一マシンに複数の Python がインストールされている場合,VS Code で使用する Python 本体(インタプリタ:Python プログラムを解釈・実行するソフトウェア)を選択する必要がある.

    1. コマンドパレット(コマンド名で機能を呼び出す VS Code の入力欄)を開く(Ctrl+Shift+P
    2. Python: Select Interpreter と入力する
    3. 表示される一覧から,使用する Python(例:C:\Program Files\Python312\python.exe)を選択する.
    import cv2
    bgr = cv2.imread('c:/opencv/sources/samples/data/fruits.jpg')
    cv2.imshow("", bgr)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

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