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 4.10.0 のインストール,動作確認(Windows 上)
- OpenCV について [PDF] , [パワーポイント]
- OpenCV のインストール,画像表示を行う C++ プログラムの実行手順: 別ページ »で説明
- OpenCVとPythonを活用した画像・ビデオ処理プログラム: 別ページ »にまとめ
- OpenCV 4 の C/C++ プログラム: 別ページ »にまとめている.
【OpenCV の公式情報】
- OpenCV の公式ページ: https://opencv.org
- GitHub の OpenCV のページ: https://github.com/opencv/opencv/releases
OpenCV を用いた C++ プログラム開発のための準備
Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)または Visual Studio 2022 のインストール(Windows 上)
【インストールの判断】 Build Tools for Visual Studio は,C++コンパイラなどを含む開発ツールセットです. Visual Studio は統合開発環境であり,いくつかのエディションがあり,Build Tools for Visual Studioの機能を含むか連携して使用します.インストールは以下の基準で判断してください:
- コマンドラインからのビルドなど、C++コンパイラ機能のみが必要な場合:
- Visual Studioのエディタやデバッガなどの統合開発環境機能が必要な場合、あるいは、どちらをインストールすべきかよく分からない場合:
Visual Studio Community (または他のエディション) をインストール します.
Visual Studio 2022 をインストールする際に,「C++ によるデスクトップ開発」ワークロードを選択することで,必要なBuild Toolsの機能も一緒にインストールされます.
不明な点がある場合は,Visual Studio 全体をインストール する方が、後で機能を追加する手間が省ける場合があります.
Build Tools for Visual Studio 2022 のインストール(Windows 上)
- Windows で,コマンドプロンプトを管理者権限で起動します(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)。
以下の
winget
コマンドを実行します。winget
はWindows標準のパッケージマネージャーです。--scope machine
オプションはシステム全体にインストールすることを意味します。次のコマンドは,Build Tools for Visual Studio 2022と、多くのプログラムで必要とされるVC++ 2015以降の再頒布可能パッケージをインストールします.
- Build Tools for Visual Studio 2022 で C++ によるデスクトップ開発関連コンポーネントのインストール
CUDA開発には、標準のC++開発ツールに加えて、特定のコンポーネントが必要になる場合があります。
- Visual Studio Installer を起動します。
起動方法: スタートメニューから「Visual Studio Installer」を探して実行します.
- Visual Studio Build Tools 2022 の項目で「変更」ボタンをクリックします.
- 「ワークロード」タブで「C++ によるデスクトップ開発」をクリックして選択します。画面右側の「インストールの詳細」で、必要に応じて「v143 ビルドツール用 C++/CLI サポート(最新)」、「ATL」、「MFC」などをチェックします(これらは一般的なC++開発や特定のプロジェクトタイプで必要になる場合があります)。その後、「変更」をクリックしてインストールまたは変更を適用します.
- Visual Studio Installer を起動します。
Visual Studio Community 2022 のインストール(Windows 上)
- Windows で,コマンドプロンプトを管理者権限で起動します。
- インストールコマンドの実行
以下の
winget
コマンドを実行します。--override "--add ..."
部分で、インストールするワークロードやコンポーネントを指定しています。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++によるデスクトップ開発): CUDA開発に必要なC++コンパイラ(VC.Tools.x86.x64
)やWindows SDK (Windows.SDK.Latest
)など、基本的な開発ツール一式を含みます。CoreEditor
: Visual Studioの基本的なコードエディタ機能を提供します。VC.CLI.Support
: C++/CLIを用いた開発サポート(通常、純粋なCUDA C++開発では不要な場合もあります)。NuGet
: .NETライブラリ管理用(C++プロジェクトでも利用されることがあります)。VC.ATL
/VC.ATLMFC
: 特定のWindowsアプリケーション開発フレームワーク(通常、CUDA開発自体には直接必要ありません)。
システム要件と注意事項:
- 管理者権限でのインストールが必須です。
- 必要ディスク容量:10GB以上(選択するコンポーネントにより変動)。
- 推奨メモリ:8GB以上のRAM。
- インストール過程でシステムの再起動が要求される可能性があります。
- 安定したインターネット接続環境が必要です。
後から追加のコンポーネントが必要になった場合は,Visual Studio Installerを使用して個別にインストールすることが可能です.
- インストール完了の確認
インストールが成功したか確認するには、管理者権限のコマンドプロンプトで以下のコマンドを実行します。
winget list Microsoft.VisualStudio.2022.Community
リストに表示されればインストールされています。
トラブルシューティング:
インストール失敗時は,以下のログファイルを確認すると原因究明の手がかりになります:
%TEMP%\dd_setup_
.log %TEMP%\dd_bootstrapper_ .log (
は実行日時に対応する文字列) - (オプション) Visual Studio Installer での確認と変更
winget
でのインストール後も、Visual Studio Installerを使ってインストール内容を確認・変更できます。- Visual Studio Installer を起動します。
- Visual Studio Community 2022 の項目で「変更」をクリックします。
- 「ワークロード」タブで「C++ によるデスクトップ開発」がチェックされていることを確認します。必要であれば、「個別のコンポーネント」タブで特定のツール(例: 特定バージョンのMSVCコンパイラ、CMakeツールなど)を追加・削除できます。「インストールの詳細」で「v143 ビルドツール用 C++/CLI サポート(最新)」などが選択されているかも確認できます。変更後、「変更」または「インストール」をクリックします。
OpenCV 4.6.0 Windows版のダウンロードとインストール
- GitHub の OpenCV の Webページを開く
- バージョンを選ぶ
下図では,OpenCV 4.6.0 を選んで, 「Assets」を展開しています.
他のバージョンを選んだ場合でも,これ以降のインストール手順はほぼ同じになります.
- Windows 版が欲しいので「opencv-4.6.0-vc14_vc15.exe」というような名前のファイルを選びます.
(補足: `vc14` はVisual Studio 2015、`vc15` はVisual Studio 2017のコンパイラに対応したビルドであることを示します。通常、新しいバージョンのVisual Studio(例: 2019, 2022)でもこれらのバイナリを利用可能です)
- ダウンロードが始まります.
- ダウンロードした .exe ファイルを実行します.これは自己解凍形式のアーカイブです.
- 展開(解凍)先を指定します.既定(デフォルト)の場所でも構いませんが、後で分かりやすい場所に移動することを推奨します.展開(解凍)先は覚えておきます.「Extract」をクリックします.
- 展開(解凍)が終わると,指定した展開(解凍)先に,「opencv」というディレクトリができ,その中にファイル群が生成されるので確認します.
- 展開してできた「opencv」ディレクトリを,開発で使いやすい場所(例: `c:\opencv`)に移動またはコピーします.このパスは後の環境変数設定やプログラムで使用します.
ここでは,「c:\opencv」にファイルを置くことにしています. このパスは任意に変更可能ですが,注意点として,パス名に日本語(全角文字)やスペースが含まれていると、ビルド時などに予期せぬエラーが発生することがあります.できるだけASCII文字のみで構成された短いパス名(例: `c:\tools\opencv` など)を使用することを強く推奨します.
- (環境変数 Path の設定)Windows の システム環境変数 Pathに,OpenCVの実行ファイル(.dllなど)があるディレクトリを追加します.これにより,コマンドプロンプトなどから `opencv_version` コマンドなどを直接実行できるようになります.
ここでは、c:\opencv\build\bin と c:\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の「システムのプロパティ」から「環境変数」設定画面を開き、手動で編集することも可能です.)
- (環境変数 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の「システムのプロパティ」から「環境変数」設定画面を開き、手動で追加・編集することも可能です.)
- 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`) のオプション説明:
- `/I"..."`: インクルードファイル(ヘッダファイル `.hpp`)を探すディレクトリを指定します.`c:\opencv` の部分は実際のパスに合わせます.
- `/EHsc`: C++の例外処理モデルを指定します(一般的に推奨されます).
- `/link`: これ以降はリンカへのオプションです.
- `/LIBPATH:"..."`: ライブラリファイル (`.lib`) を探すディレクトリを指定します.`c:\opencv` の部分は実際のパスに合わせます.`x64\vc15` の部分は、使用するVisual Studioのバージョンやターゲット(32bit/64bit)によって `x64\vc16` や `x86\...` などに変わる場合があります.
- `opencv_world460.lib`: リンクするOpenCVライブラリファイルです.バージョン名(460)が含まれるため、インストールしたOpenCVのバージョンに合わせて変更してください(例: 4.10.0なら `opencv_world4100.lib`).ファイル名は `/LIBPATH` で指定したディレクトリ内で確認できます.
コンパイルが成功すると `a.exe` が生成されます.`.\a.exe` を実行すると画像表示が行われます.表示された画面をクリックし,なにかのキーを押すとウィンドウが閉じます.

OpenCV で画像表示を行う Python プログラム
注意: 通常、Python で OpenCV を使うときは,pip でのインストール (`pip install opencv-python`) が最も簡単で推奨されます.それは別ページ »で説明されており、依存関係も自動で管理されます.
ここで説明する システムの環境変数 PYTHONPATH を設定する方法 は、pip管理外のOpenCV(例えば、自分でビルドしたものや、このページの手順でダウンロード・展開したもの)を使用したい場合、特に「最新の機能を試したい」などの限定的な状況で役立ちます.ただし、pip でインストールしたパッケージと競合したり、環境管理が複雑になる可能性があるため、通常の使用には推奨されません.試用が終わったら,システムの環境変数 PYTHONPATH の設定を元に戻す(追加したパスを削除する)ことを検討してください.
- Windows で,コマンドプロンプトを管理者権限で起動します(環境変数を設定するため).
- numpy のインストール(OpenCV Python バインディングは NumPy に依存しています)
すでにインストールされている場合は不要ですが、最新版に更新しておくと良いでしょう。
python -m pip install -U numpy
- OpenCV の Python 用のファイルがあるディレクトリを確認します.
通常、`c:\opencv\build\python\cv2\` のようなパスにあります. コマンドプロンプトで、OpenCVを展開したディレクトリ内の `build\python` ディレクトリに移動します.
cd c:\opencv\build\python <-- 「c:\opencv」は実際のパスに合わせる
- そのディレクトリ内に `cv2` という名前のサブディレクトリがあるか確認します.
この `cv2` ディレクトリ内に Python バインディングの実体(例: `cv2.pyd`)が含まれています.
dir /w
- システムの環境変数 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の「システムのプロパティ」から「環境変数」設定画面を開き、手動で編集することも可能です.)
- サンプルとして OpenCV のサンプルデータ の中の fruits.jpg を使います.
**注意:** このファイルが存在しない場合(例: `sources` パッケージを含まない .exe を使用した場合)や、OpenCVを別の場所に展開した場合は、後述の Python コード内の `cv2.imread` の引数を適宜修正してください。ご自身で用意した画像ファイルのパスを指定するか、OpenCVのGitHubリポジトリ等から `sources/samples/data` ディレクトリをダウンロードして配置してください。
c:\opencv\sources\samples\data にあると仮定します. - 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() # すべてのウィンドウを閉じる
(コード例に、画像読み込み失敗時のチェックとウィンドウタイトルを追加しました。)
画像が正しく読み込めていれば、画像が表示されるので確認してください. 表示された画像ウィンドウの中をクリックしてから,何かのキーを押すとウィンドウが閉じます.