OpenCV 4.9.0 のインストール,動作確認(Windows 上)
【目次】
OpenCV
- 2500 以上のアルゴリズム.
- 顔認識、物体認識、人間の動きの分類、カメラの動きの追跡、オブジェクトの動きの追跡、3次元モデルの抽出、ステレオカメラからの3次元点群の生成、イメージスティッチング、類似画像の検索、赤目の除去、眼球運動の追跡、ARの機能など
- ライセンス: BSD ライセンス
- インタフェース: C++, Python, Java, MATLAB
- マシン: Windows, Linux, Mac OS, iOS, Android
【サイト内の関連ページ】
- OpenCV について [PDF] , [パワーポイント]
- OpenCV のインストール,画像表示を行う C++ プログラムの実行手順: 別ページ »で説明
- OpenCVとPythonを活用した画像・ビデオ処理プログラム: 別ページ »にまとめ
- OpenCV 4 の C/C++ プログラム: 別ページ »にまとめている.
【OpenCV の公式情報】
- OpenCV の公式ページ: https://opencv.org
- GitHub の OpenCV のページ: https://github.com/opencv/opencv/releases
前準備
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 を用いて以下のコンポーネントを追加している。
VCTools:C++ デスクトップ開発ワークロード(--includeRecommendedにより、MSVC コンパイラ、C++ AddressSanitizer、vcpkg、CMake ツール、Windows 11 SDK 等の推奨コンポーネントが含まれる)VC.Llvm.Clang:Windows 向け C++ Clang コンパイラClangCL:clang-cl ツールセットを含むコンポーネントグループ(MSBuild から Clang を使用するために必要)VC.CMake.Project:Windows 向け C++ CMake ツールWindows11SDK.26100:Windows 11 SDK(ビルド 10.0.26100)
インストール完了の確認
winget list Microsoft.VisualStudio.2022.BuildTools
上記以外の追加のコンポーネントが必要になった場合は Visual Studio Installer で個別にインストールできる。
Visual Studio の機能を必要とする場合は、追加インストールできる。
OpenCV 4.9.0 Windows版のダウンロードとインストール
- GitHub の OpenCV の Webページを開く
- バージョンを選ぶ
下図では,OpenCV 4.9.0 を選んで, 「Assets」を展開している.
他のバージョンを選んだ場合でも,これ以降のインストール手順はほぼ同じになる - Windows 版が欲しいので「opencv-4.9.0-windows.exe」というような名前のファイルを選ぶ.
- ダウンロードが始まる
- ダウンロードした .exe ファイルを実行する
- 展開(解凍)先は自動設定される.既定(デフォルト)のままでよい.展開(解凍)先は覚えておく.「Extract」をクリック
- 展開(解凍)が始まる.
- 展開(解凍)が終わると,展開(解凍)先に,「opencv」というディレクトリができ,その中にファイルができるので確認する
- 展開してできたディレクトリを,
分かりやすいディレクトリの下に丸ごとコピーする.
ここでは,「c:\opencv」にファイルを置くことにしている. この「c:\opencv」 は何に変えてもよいが,分かりやすくて,日本語を含まないものがよい
- 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\")"
- Windows の システム環境変数 OPENCV_DIR に,c:\opencv\build を設定
Windows で,管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー >
cmdと入力 > 右クリック > 「管理者として実行」)。次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"OPENCV_DIR\", \"c:\opencv\build\", \"Machine\")"
- opencv_version にパスが通っていることを確認する
そのために,新しく Windows のコマンドプロンプトを開き,次のコマンドを実行する.
エラーメッセージが出なければOK.
where opencv_version opencv_version
OpenCV を用いた画像表示の例
OpenCV で画像表示を行う C++ プログラム
- Windows で,コマンドプロンプトを実行
- OpenCV のサンプルデータ の中の fruits.jpg を使う
c:\opencv\sources\samples\data にある
- 次のコマンドを実行し,メモ帳を開く.
cd /d c:%HOMEPATH% notepad a.cpp
- 次のプログラムを,ファイル名 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; }
- ビルドと実行
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 の設定を元に戻すことも検討すること.
- 以下のコマンドを管理者権限のコマンドプロンプトで実行する
(手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」)。 - numpy のインストール
python -m pip install -U numpy
- OpenCV の Python 用のファイルがあるディレクトリを確認したい.
カレントディレクトリを移動する操作
cd c:\opencv\build\python
- ファイルを確認
「cv2」というディレクトリ(フォルダ)があれば OK.
dir /w
- システムの環境変数 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\")"
- OpenCV のサンプルデータ の中の fruits.jpg を使う
c:\opencv\sources\samples\data にある
- Python プログラムの実行
Python プログラムの実行
- Windows では python (Python ランチャーは py)
- Ubuntu では python3
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での動作確認までの一連のプロセスを説明.
- 以下のコマンドを管理者権限のコマンドプロンプトで実行する
(手順:Windowsキーまたはスタートメニュー →