OpenCV, OpenCV Contrib 4.14 のインストール(ソースコードを使用)(Windows 上)
OpenCV
OpenCV は,実時間コンピュータビジョン (real time computer vision) の アルゴリズムと文書とサンプルコードの集まり.
- 2500 以上のアルゴリズム.
- 顔認識,物体認識,人間の動きの分類,カメラの動きの追跡,オブジェクトの動きの追跡,3次元モデルの抽出,ステレオカメラからの3次元点群の生成,イメージスティッチング,類似画像の検索,赤目の除去,眼球運動の追跡,ARの機能など
- ライセンス: BSD ライセンス
- インタフェース: C++, Python, Java, MATLAB
- マシン: Windows, Linux, Mac OS, iOS, Android
【関連する外部ページ】
- OpenCV の公式ページ: https://opencv.org
- GitHub の OpenCV のページ: https://github.com/opencv/opencv/releases
【サイト内の関連ページ】
【関連項目】 OpenCV Python, OpenCV のサンプルデータ , OpenCV のインストールと,C++ プログラムの実行
前準備
Build Tools for Visual Studio 2026 のインストール(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 --scope machine --id Microsoft.VisualStudio.BuildTools -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "--quiet --wait --norestart --nocache --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --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.BuildTools
上記以外の追加のコンポーネントが必要になった場合は Visual Studio Installer で個別にインストールできる。
Visual Studio の機能を必要とする場合は、追加インストールできる。
Python 3.12 のインストール(Windows 上) [クリックして展開]
以下のいずれかの方法で Python 3.12 をインストールする。Python がインストール済みの場合、この手順は不要である。
方法1:winget によるインストール
管理者権限のコマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。
winget install --scope machine --id Python.Python.3.12 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet InstallAllUsers=1 PrependPath=1 Include_pip=1 Include_test=0 Include_launcher=1 InstallLauncherAllUsers=1"
--scope machine を指定することで、システム全体(全ユーザー向け)にインストールされる。このオプションの実行には管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動すると PATH が自動的に設定される。
方法2:インストーラーによるインストール
- Python 公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンから Windows 用インストーラーをダウンロードする。
- ダウンロードしたインストーラーを実行する。
- 初期画面の下部に表示される「Add python.exe to PATH」に必ずチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから
pythonコマンドを実行できない。 - 「Install Python 3.xx for all users」にチェックを入れ、「Install」をクリックする。
インストールの確認
コマンドプロンプトで以下を実行する。
python --version
バージョン番号(例:Python 3.12.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していない。
Git のインストール(Windows 上) [クリックして展開]
管理者権限のコマンドプロンプトで以下を実行する.管理者権限は,winget の --scope machine オプションでシステム全体にインストールするために必要となる.
REM Git をシステム領域にインストール
winget install --scope machine --id Git.Git -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/VERYSILENT /NORESTART /NOCANCEL /SP- /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS /COMPONENTS=""icons,ext\reg\shellhere,assoc,assoc_sh"" /o:PathOption=Cmd /o:CRLFOption=CRLFCommitAsIs /o:BashTerminalOption=MinTTY /o:DefaultBranchOption=main /o:EditorOption=VIM /o:SSHOption=OpenSSH /o:UseCredentialManager=Enabled /o:PerformanceTweaksFSCache=Enabled /o:EnableSymlinks=Disabled /o:EnableFSMonitor=Disabled"
CMakeのインストール(Windows 上) [クリックして展開]
管理者権限のコマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。
REM CMake をシステム領域にインストール
winget install --scope machine --id Kitware.CMake -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/qn /norestart ADD_CMAKE_TO_PATH=System"
7-Zip のインストール(Windows 上) [クリックして展開]
管理者権限のコマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。
REM 7-Zip をシステム領域にインストール
winget install --scope machine --id 7zip.7zip -e --silent --installer-type msi --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/qn /norestart"
REM 7-Zip のパス設定
powershell -NoProfile -Command "$p='C:\Program Files\7-Zip'; $c=[Environment]::GetEnvironmentVariable('Path','Machine'); if((Test-Path $p) -and $c -notlike \"*$p*\"){[Environment]::SetEnvironmentVariable('Path',\"$p;$c\",'Machine')}"
NVIDIA CUDA Toolkit 12.8のインストール
- 前提条件(NVIDIA CUDA Toolkit インストール前): NVIDIA GPU,NVIDIA ドライバ,および Build Tools for Visual Studio もしくは Visual Studio が必要である.
- インストール中の注意: なるべく他のウインドウはすべて閉じておくこと.
以下のコマンドを管理者権限のコマンドプロンプトで実行する
(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。
REM NVIDIA CUDA Toolkit 12.8 をシステム領域にインストール
winget install --scope machine --id Nvidia.CUDA --version 12.8 -e --silent --disable-interactivity --force --uninstall-previous --accept-source-agreements --accept-package-agreements --override "-s -n"
REM 環境変数TEMP, TMPの設定(一時ファイルの保存先を短いパスに変更)
mkdir C:\TEMP
set "TEMP_PATH=C:\TEMP"
setx TEMP "%TEMP_PATH%" /M >nul
setx TMP "%TEMP_PATH%" /M >nul
OpenCV のインストール(ソースコードを用いたインストール)(Windows 上)
gflags,glog,Ceres ソルバ(Ceres Solver)のインストール
Windows での SuiteSparse,gflags,glog,Ceres ソルバ(Ceres Solver)のインストール: 別ページ »で説明
sfm を使うときはインストールする.
OpenCV のインストール(ソースコードを用いたインストール)(Windows 上)
- 以下のコマンドを管理者権限のコマンドプロンプトで実行する
(手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」)。 - OpenCV のバージョンの確認
次のページで最新バージョンを確認できる.
- OpenCV のソースコードをダウンロード
cd /d c:%HOMEPATH% rmdir /s /q opencv git clone --recursive https://github.com/opencv/opencv.git
- OpenCV contrib のソースコードをダウンロード
OpenCV contrib が不要の場合,この手順は不要である
cd /d c:%HOMEPATH% rmdir /s /q opencv_contrib git clone --recursive https://github.com/opencv/opencv_contrib.git
- Python 3 のバージョンを調べる
下の実行例では,Python のバージョンは 3.12 系列(3.12.10) である
python --version
- Python 3 の場所を調べる
複数表示されたときは,一番上を使う.この結果はあとの設定で使う.
where python
- pip と setuptools の更新.numpy, pylint, flake8 のインストール.opencv-python のアンインストール
python -m pip install -U pip setuptools python -m pip install -U numpy pylint flake8 python -m pip uninstall -y opencv-python python -m pip uninstall -y opencv-python-headless python -m pip uninstall -y opencv-contrib-python - cmake の実行
パスの区切りは「\」でなく「/」
「c:\」でなく「c:/」のようにする. opencv_contrib の modules 下の cmake のエラーを回避するためである.
Python 3 の設定
次の設定では,実際に存在するファイル名を設定する. 必要に応じて,自分のパソコンのファイルを検索すること.
- -DPYTHON_DEFAULT_EXECUTABLE=C:/Program Files/Python312/python.exe
- -DPYTHON3_EXECUTABLE=C:/Program Files/Python312/python.exe
- -DPYTHON3_INCLUDE_DIR=C:/Program Files/Python312/include
- -DPYTHON3_LIBRARY=C:/Program Files/Python312/libs/python312.lib
- -DPYTHON3_NUMPY_INCLUDE_DIRS=C:/Program Files/Python312/lib/site-packages/numpy/_core/include
* 先ほど調べた Python 3 のバージョンに応じて, Python 3.13 系列では「python313.lib」, Python 3.12 系列では「python312.lib」, Python 3.11 系列では「python311.lib」, Python 3.10 系列では「python310.lib」, Python 3.9 系列では「python39.lib」, Python 3.8 系列では「python38.lib」, Python 3.7 系列では「python37.lib」のようになる.
* cmake のオプションに -DWITH_CUDA=ON を含めている.そのため,NVIDIA CUDA ツールキットを事前にインストールしておく必要がある.CUDA を使用しない場合は -DWITH_CUDA=OFF に変更し,CUDA 関連のオプション(CUDA_NVCC_FLAGS,OPENCV_CUDA_ARCH_BIN,WITH_NVCUVID,WITH_NVCUVENC)を削除すること.* OPENCV_CUDA_ARCH_BIN には,使用する GPU のアーキテクチャを指定する.下の例では Pascal(6.1)から Blackwell(10.0)までを含めている.Blackwell(10.0)を使用するには,対応する CUDA ツールキットのバージョンが必要である.不要なアーキテクチャを除くとビルド時間を短縮できる.cmake の実行手順例は次の通り
cd /d c:%HOMEPATH% cd opencv rmdir /s /q build mkdir build cd build del CMakeCache.txt rmdir /s /q CMakeFiles cmake .. -A x64 -T host=x64 ^ -DCMAKE_BUILD_TYPE=RELEASE ^ -DBUILD_SHARED_LIBS=ON ^ -DWITH_CUDA=ON ^ -DCUDA_NVCC_FLAGS="-allow-unsupported-compiler" ^ -DOPENCV_CUDA_ARCH_BIN=6.1,7.5,8.0,8.6,8.9,10.0 ^ -DWITH_NVCUVID=OFF -DWITH_NVCUVENC=OFF ^ -DBUILD_opencv_world=ON ^ -DBUILD_opencv_apps=ON ^ -DBUILD_opencv_sfm=OFF ^ -DOPENCV_EXTRA_MODULES_PATH=C:%HOMEPATH%\opencv_contrib\modules ^ -DWITH_PYTHON=ON ^ -DBUILD_opencv_python2=OFF ^ -DPYTHON_DEFAULT_EXECUTABLE="C:/Program Files/Python312/python.exe" ^ -DBUILD_opencv_python3=ON ^ -DPYTHON3_EXECUTABLE="C:/Program Files/Python312/python.exe" ^ -DPYTHON3_INCLUDE_DIR="C:/Program Files/Python312/include" ^ -DPYTHON3_LIBRARY="C:/Program Files/Python312/libs/python312.lib" ^ -DPYTHON3_NUMPY_INCLUDE_DIRS="C:/Program Files/Python312/lib/site-packages/numpy/_core/include" ^ -DBUILD_EXAMPLES=ON ^ -DWITH_OPENGL=ON ^ -DOPENCV_ENABLE_NONFREE=OFF ^ -DCMAKE_INSTALL_PREFIX="C:/opencv" ^ -DBLAS_openblas_LIBRARY="%OpenBLAS_ROOT%\lib\openblas.lib" ^ -DGlog_DIR="%GLOG_ROOT%" ^ -DGLOG_LIBRARY="%GLOG_ROOT%\lib\glog.lib" ^ -DGLOG_INCLUDE_DIR="%GLOG_ROOT%\include" ^ -DGflags_DIR="%GFLAGS_ROOT%" ^ -DCeres_DIR="%CERES_ROOT%" ^ -DMETIS_INCLUDE_DIR="%SUITESPARSE_ROOT%\include" ^ -DCXSparse_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DCXSparse_LIBRARY="%SUITESPARSE_ROOT%\lib\libcxsparse.lib" ^ -DSuiteSparse_AMD_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_CAMD_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_CCOLAMD_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_CHOLMOD_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_COLAMD_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_Config_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_SPQR_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_AMD_LIBRARY="%SUITESPARSE_ROOT%\lib\libamd.lib" ^ -DSuiteSparse_CAMD_LIBRARY="%SUITESPARSE_ROOT%\lib\libcamd.lib" ^ -DSuiteSparse_CCOLAMD_LIBRARY="%SUITESPARSE_ROOT%\lib\libccolamd.lib" ^ -DSuiteSparse_CHOLMOD_LIBRARY="%SUITESPARSE_ROOT%\lib\libcholmod.lib" ^ -DSuiteSparse_COLAMD_LIBRARY="%SUITESPARSE_ROOT%\lib\libcolamd.lib" ^ -DSuiteSparse_Config_LIBRARY="%SUITESPARSE_ROOT%\lib\suitesparseconfig.lib" ^ -DSuiteSparse_SPQR_LIBRARY="%SUITESPARSE_ROOT%\lib\libspqr.lib" ^ -DINSTALL_TESTS=ON ^ -DINSTALL_C_EXAMPLES=ON ^ -DINSTALL_BIN_EXAMPLES=ON ^ -DINSTALL_PYTHON_EXAMPLES=ON
cmake でのオプションの調整について- NVIDIA CUDA ツールキット, NVIDIA cuDNN の設定例
上の cmake のオプションに,次を付け加えることが考えられる.
-DCUDA_FAST_MATH=ON ^ -DWITH_CUBLAS=ON ^ -DWITH_CUDNN=ON ^ -DWITH_NVCUVID=ON ^ -DOPENCV_DNN_CUDA=ON ^
- Intel MKL を使うとき
* Intel MKL は「w_mkl_2019.4.245.exe」でインストール済み,「C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019\windows\redist\intel64_win\tbb\vc_mt」にパスが通っているとする.
上の cmake のオプションに,次を付け加える
-DWITH_MKL=ON ^ -DMKL_USE_MULTITHREAD=ON ^ -DWITH_TBB=ON ^ -DMKL_WITH_TBB=ON ^ - VTK を使うとき
上の cmake のオプションに,次を付け加える.
* Windows での VTK のインストール手順は 「Windows で VTK 最新版をソースコードからビルドしてインストールする(Build Tools for Visual Studio を利用)」で説明している.
-DWITH_VTK=ON ^ -DVTK_DIR="C:/tools/VTK" ^ - OpenNI2 を使うとき
上の cmake のオプションに,次を付け加える.
* Windows でのインストール手順は 「Windows で libPCL 1.9.0, Boost, Eigen, OpenNI 2.2, NITE2 のインストール」で説明している.
-DWITH_OPENNI2=ON ^ -DOPENNI2_INCLUDE="C:/Program Files/OpenNI2/include" ^ -DOPENNI2_LIB="C:/Program Files/OpenNI2/lib" ^ -DOPENNI2_REDIST="C:/Program Files/OpenNI2/Redist" ^ - OpenBLAS を使うとき
上の cmake のオプションに,次を付け加える.
Windows での OpenBLAS (BLAS, CBLAS, LAPACK, LAPACKE)のインストール(ソースコードを使用)(Build Tools for Visual Studio を利用): 別ページ »で説明
-DOpenBLAS_LIB="%OpenBLAS_ROOT%\lib\openblas.lib" ^ -DOpenBLAS_INCLUDE_DIR="%OpenBLAS_ROOT%\include\openblas" ^ -DWITH_LAPACK=ON ^ -DLAPACK_LIBRARIES="C:/tools/lapack-release/lib/lapack.lib" ^ -DLAPACK_INCLUDE_DIR="C:/tools/lapack-release/CBLAS/include" ^ -DLAPACK_CBLAS_H="C:/tools/lapack-release/CBLAS/include/cblas.h" ^
- cmake の実行結果の確認
Python 3 のところが自動設定される(Python 3 を使わない場合は無視してよい)
* 下図の通りになるとは限らない.
* エラーメッセージが出た場合は,設定を変えてやり直す.
- ソースコードからビルドし,インストールする
終了までしばらく待つ.
cmake --build . --config Release --target INSTALL -- /m:4 - 結果の確認
エラーがなければインストールは完了している.エラーメッセージが出ていないことを確認する.
* 黄色の警告メッセージは無視してよい
- Windows の システム環境変数 Pathに次を追加し,パスを通す.
- C:\opencv\x64\vc18\bin を追加
- C:\opencv\bin を追加
Build Tools 2026 の場合は「vc18」、Build Tools 2022 の場合は「vc17」になる。
Windows で,管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー >
cmdと入力 > 右クリック > 「管理者として実行」)。次のコマンドを実行
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\opencv\x64\vc18\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\opencv\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" - Windows の システム環境変数 LIB の設定
次を追加する
C:\opencv\x64\vc18\lib
Windows で,管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー >
cmdと入力 > 右クリック > 「管理者として実行」)。次のコマンドを実行
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"LIB\", \"Machine\"); $oldpath += \";C:\opencv\x64\vc18\lib\"; [System.Environment]::SetEnvironmentVariable(\"LIB\", $oldpath, \"Machine\")" - Windows の システム環境変数 OPENCV_ROOT に c:\opencv を設定
Windows で,管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー >
cmdと入力 > 右クリック > 「管理者として実行」)。次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"OPENCV_ROOT\", \"c:\opencv\", \"Machine\")"
- Python 関係のファイルがインストールされていることを確認
「Python312」のところは,実際の Python インストールディレクトリに読み替えること.
dir "C:\Program Files\Python312\lib\site-packages\cv2"
* Python 関係のファイルがインストールされていない場合でも,Python ローダ (python loader) の使用は推奨しない.Python ローダを使用するとエラー発生時にPython のインストールからやり直す可能性がある.よく理解せずに実行するのは避けること. - Python でOpenCV のバージョン確認
python -c "import cv2; print( cv2.__version__ )"
OpenCV を用いた画像表示の例
OpenCV で画像表示を行う C++ プログラム
- エディタを起動
ここではメモ帳 (notepad) を使っている.
次のコマンドをVisual Studio の x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt) で実行する(Windows のスタートメニューで起動できる).ファイル名は a.cpp とする.
cd /d c:%HOMEPATH% notepad a.cpp - メモ帳で開いたファイルを次のように編集する(コピー&ペーストしてよい).
ファイル名 a.cpp で保存する.
#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; } -
次のコマンドをVisual Studio の x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt) で実行する(Windows のスタートメニューで起動できる).
* opencv_world4140.lib のファイル名はインストールした OpenCV のバージョンにより異なる.バージョン 4.14.0 の場合は opencv_world4140.lib となる.実際のファイル名は C:\opencv\x64\vc18\lib ディレクトリ内で確認すること.
cl /I"c:\opencv\include" a.cpp /link /LIBPATH:"c:\opencv\x64\vc18\lib" opencv_world4140.lib .\a.exe
- 画像が表示される.画面をクリックし,何かのキーを押して閉じる.