⚒️
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