Build OpenCV with CUDA
Requirement
CUDA
インストール済だった為作業無し
cuDNN
bin,include,libそれぞれ下記にコピー
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6
note
プロジェクト出力
build
$ cd hogehoge/opencv
$ mkdir build
$ cd build
# minimum?
$ cmake .. -G "Visual Studio 17 2022" -A x64
# cuda
$ cmake .. -G "Visual Studio 17 2022" -A x64 -T host=x64 -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_SHARED_LIBS=OFF -DWITH_CUDA=ON -DCUDA_NVCC_FLAGS="-allow-unsupported-compiler" -DCUDA_FAST_MATH=ON -DWITH_CUBLAS=ON -DWITH_CUDNN=ON -DWITH_NVCUVID=ON -DOPENCV_DNN_CUDA=ON -DOPENCV_EXTRA_MODULES_PATH=E:/Research/opencv/opencv_contrib/modules -DINSTALL_TESTS=ON -DINSTALL_C_EXAMPLES=ON -DWITH_PYTHON=ON -DINSTALL_PYTHON_EXAMPLES=ON -DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=ON -DBUILD_EXAMPLES=ON -DWITH_OPENGL=ON -DOPENCV_ENABLE_NONFREE=OFF -DBUILD_opencv_world=ON
-DOPENCV_EXTRA_MODULES_PATH: 任意の場所を指定
| 2022 | Visual Studio 17 2022 |
| 2019 | Visual Studio 16 2019 |
opencv world not in build folder - OpenCV Q&A Forum
opencv_world*.dllは標準ではビルドされないのでオプションにて指定する必要あり
ビルド
$ cd hogehoge/opencv/build
$ cmake --build . --config RELEASE --target INSTALL
path
opencv\opencv\build\installに出力される
利用するにあたり、PATHを通す(Visual C++ではいらないかも?)
opencv\opencv\build\install\includeopencv\opencv\build\install\x64\vc17\staticlib- (
opencv\opencv\build\install): 必要性について未検証
Visual C++
c++コンソールアプリケーションにて検証
プロジェクトのプロパティ>VC++ディレクトリにてインクルードディレクトリ,ライブラリディレクトリにそれぞれ先程のパスを設定
[ProjectName]>プロパティより、下記項目を設定
VC++ディレクトリインクルードディレクトリ
opencv\opencv\build\install\includeライブラリディレクトリ
opencv\opencv\build\install\x64\vc17\staticlib
リンカー>全般追加のライブラリディレクトリ
opencv\opencv\build\install\x64\vc17\staticlib
ライブラリが正しくビルドされていない?
Q&A
一致するランタイムライブラリを使用する
再度ビルドしてみる
-
Environment
- OpenCV:
4.6.0: Clone後に最新となっていたので該当tagにswitch - OpenCV Contrib:
4.6.0
- OpenCV:
-
CMake guiにてオプション追加
- BUILD_CUDA_STUBS
- BUILD_opencv_world
- WITH_CUDA
- OPENCV_EXTRA_MODULES_PATH=[opencv_contrib]/modules
-
Visual Studio 2022にてOpenCV.slnを開く ビルド>パッチビルドより下記のビルドにチェックを入れ、ビルドALL_BUILDINSTALL
Debugビルドが通らなかった為Debugについては無効化してパッチビルド
再度VC++を設定
| VC++ include | E:\Research\opencv\opencv_build\install\include |
| VC++ librry | E:\Research\opencv\opencv_build\install\x64\vc16\lib |
Reference
- OpenCV, OpenCV Contrib バージョン 4.6.0 のインストール,NVIDIA CUDA 対応可能(ソースコードを使用)(Windows 上)
- ☆OpenCV + OpenCV Contribをビルド 【Windows編】 | スワローインキュベート
default use
Releases·opencv/opencvよりopencv-x.x.x-vc14_vc15.exeをDL
最終更新日:
August 14, 2023
作成日: August 14, 2023
作成日: August 14, 2023