⚒️
WindowsでOpenCVをビルドする
環境は以下の通りです。
- Windows 11
- OpenCV 4.9
- CMake 3.27
Cドライブ直下で行っています。適宜パス等を読み替えてください。
CMakeのインストール
cmake-{version}-windows-x86_64.msi をダウンロード & インストールしてください。
wingetを使う場合
winget install Kitware.CMake
wingetがない場合は アプリインストーラーをインストールしてください。
ビルドツールのインストール
Build Tools for Visual Studio 2022 をダウンロードしてください。
wingetを使う場合
winget install Microsoft.VisualStudio.2022.BuildTools
ダウンロードしたファイルを実行するとVisual Studio Installerが起動するので、「C++によるデスクトップ開発」を選択後、右の欄から「ビルドツール用C++ ATL」をチェックしてインストールしてください。

OpenCVのビルド
-
ディレクトリを作成する。
mkdir opencv cd opencv -
opencvとopencv_contribをダウンロードする。
curl.exe -Lo opencv.zip https://github.com/opencv/opencv/archive/4.x.zip curl.exe -Lo opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.x.zip -
展開する。
tar.exe -xvf opencv.zip tar.exe -xvf opencv_contrib.zip -
ビルド用ディレクトリを作成する。
mkdir build cd build -
ビルドする。
cmake -G "Visual Studio 17 2022" -A x64 -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.x/modules -D BUILD_opencv_world=ON ../opencv-4.x & 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe' .\ALL_BUILD.vcxproj /p:Configuration=Debug /p:Platform=x64 & 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe' .\ALL_BUILD.vcxproj /p:Configuration=Release /p:Platform=x64 & 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe' .\INSTALL.vcxproj /p:Configuration=Debug /p:Platform=x64 & 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe' .\INSTALL.vcxproj /p:Configuration=Release /p:Platform=x64 -
パスを通す。
ユーザー環境変数の
OpenCV_DIRにC:\opencv\build\install\x64\vc17を、Pathに%OPENCV_DIR%\binと%OPENCV_DIR%\libを追加しています。[Environment]::SetEnvironmentVariable("OpenCV_DIR", "C:\opencv\build\install\x64\vc17", "User") $oldPath = [Environment]::GetEnvironmentVariable("Path", "User") $newPath = $oldPath + ";%OPENCV_DIR%\bin;%OPENCV_DIR%\lib" [Environment]::SetEnvironmentVariable("Path", $newPath, "User")環境変数の設定後、PowerShellを開き直し、
opencv_versionと入力してバージョン情報が出てくればOKです。
Discussion