Darkside(https対応しました)

2022年7月14日(木) 21:19

Python + OpenCV + GPU (CUDA)

 3軸手ぶれ補正ではなく、XY軸のみの2軸手ぶれ補正でも、フィードバックループによるブレ量推定精度アップは有効と考えられる。そうなると、処理時間は増える一方だ。またまた、OpenCV の GPU 対応化に挑戦する。
 今回は、バイナリ配布していたサイトで公開されている、OpenCV4.5.0 のソースを使用。git で落とすのではなく、同サイトのものを使う。その上で、金子研究室のやり方に従う。

 CUDA は v11.1 とし、Pyhton は3.8 とし、コンパイルには Visual Studio 2019 を使う。

cmake -G "Visual Studio 16 2019" ^
-S c:/opencv -B c:/opencv/build -DCMAKE_BUILD_TYPE=RELEASE ^
-DWITH_CUDA=ON ^
-DCUDA_NVCC_FLAGS="-allow-unsupported-compiler" ^
-DOPENCV_EXTRA_MODULES_PATH=c:/opencv_contrib/modules ^
-DINSTALL_TESTS=ON ^
-DINSTALL_C_EXAMPLES=ON ^
-DWITH_PYTHON=ON ^
-DINSTALL_PYTHON_EXAMPLES=ON ^
-DBUILD_opencv_python2=OFF ^
-DPYTHON_DEFAULT_EXECUTABLE="(略)Python/Python38/python.exe" ^
-DBUILD_opencv_python3=ON ^
-DPYTHON3_EXECUTABLE="(略)Python/Python38/python.exe" ^
-DPYTHON3_INCLUDE_DIR="(略)Python/Python38/include" ^
-DPYTHON3_LIBRARY="(略)Python/Python38/libs/python38.lib" ^
-DPYTHON3_NUMPY_INCLUDE_DIRS="(略)Python/Python38/Lib/site-packages/numpy/core/include" ^
-DBUILD_EXAMPLES=ON ^
-DWITH_OPENGL=ON ^
-DBUILD_opencv_world=ON ^
-DOPENCV_ENABLE_NONFREE=OFF ^
-DWITH_CUDA=ON ^
-DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.1" ^
-DCUDA_ARCH_PTX=8.6 ^
-DCUDA_FAST_MATH=ON ^
-DWITH_CUBLAS=ON ^
-DWITH_CUDNN=ON ^
-DWITH_NVCUVID=ON ^
-DOPENCV_DNN_CUDA=ON ^
-DWITH_MFX=ON

 遂に、コンパイルだけでなくインストールも成功!
 import cv2 が問題なく通った!

 だが、これだけでは GPU は使用されない。Python スクリプトはそのまま使えるが。
 GPU を使うためには、GPU を使うための命令を記述せねばならない。つまり、これで本当に GPU が使えるようになったかどうかは、まだ分からないのである。

written by higashino [Virtual Reality] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4