如何使用CUDA GPU支持从源代码构建OpenCV?

磐创AI
关注

set_env_paths.bat

右键单击OpenCV_Build文件夹,然后创建一个名为set_env_paths.bat的新文本文件。完成此操作后,需要编辑以下示例以包含文件夹位置:ECHO -- Set these variables below --
set "openCvSource=E:/OpenCV_Build/opencv-4.5.2"
set "openCVExtraModules=E:/OpenCV_Build/opencv_contrib-4.5.2/modules"
set "openCvBuild=%openCvSource%/build"
set "toolkitRoot=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.0"
ECHO -- Set this to the location of your Conda Env
set "pathToAnaconda=C:/Users/Benge/anaconda3/envs/py38"
ECHO -- Leave these variables alone --
set "buildType=Release"
set "generator=Ninja"
set "pyVer=38"

同样要记住的重要一点是,所有文件夹路径都不应包含反斜杠(“ ”),而应替换为正斜杠(“ /”)。我发现这是一个奇怪的CMake操作,不幸的是,这是确保在构建过程中不会失败的唯一方法。

configure_and_build_opencv.bat

这是我们配置和构建OpenCV道路上的必经之路。从本质上讲,这只是一堆链接在一起的命令提示符,从而使整个过程变得更加容易。它实际上是初始化VS2019构建批处理文件,调用我们在set_env_paths中设置的环境变量,调用CMake以使用GPU加速的CUDA及其各种设置来生成我们的配置(在我看来,这比在CMake中单独执行更容易)。包括Anaconda build env Python绑定,以便我们实际上可以在我们的项目中导入和利用新构建的模块,然后开始构建OpenCV的过程。ECHO -- Starting OpenCV Configuration --
ECHO ---- Opening Visual Studio builder ----
call "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Auxiliary/Build/vcvars64.bat"
ECHO ---- Setting up environment variables ----
call set_env_paths.bat
ECHO ---- Running CMake Commands ----
call "C:/Program Files/CMake/bin/cmake.exe" -B"%openCvBuild%/" -H"%openCvSource%/" -G"%generator%" -DCMAKE_BUILD_TYPE=%buildType% -DOPENCV_EXTRA_MODULES_PATH="%openCVExtraModules%/" ^
-DINSTALL_TESTS=ON -DINSTALL_C_EXAMPLES=ON -DBUILD_EXAMPLES=ON ^
-DBUILD_opencv_world=ON ^
-DWITH_CUDA=ON -DCUDA_TOOLKIT_ROOT_DIR="%toolkitRoot%" -DCUDA_FAST_MATH=ON -DWITH_CUBLAS=ON -DCUDA_ARCH_BIN=7.5 -DWITH_NVCUVID=ON ^
-DWITH_OPENGL=ON -DENABLE_FAST_MATH=ON ^
-DWITH_MFX=ON ^
-DBUILD_opencv_python3=ON -DPYTHON3_INCLUDE_DIR=%pathToAnaconda%/include -DPYTHON3_LIBRARY=%pathToAnaconda%/libs/python%pyVer%.lib -DPYTHON3_EXECUTABLE=%pathToAnaconda%/python.exe -DPYTHON3_NUMPY_INCLUDE_DIRS=%pathToAnaconda%/lib/site-packages/numpy/core/include -DPYTHON3_PACKAGES_PATH=%pathToAnaconda%/Lib/site-packages/ -DOPENCV_SKIP_PYTHON_LOADER=ON
ECHO -- OpenCV Configuration has finished, proceeding to build phase --
call "C:Program FilesCMakeincmake.exe" --build %openCvBuild% --target install
:End
PAUSE
运行configure_and_build_opencv.bat文件

双击我们的文件,然后运行该进程。视你的系统而定,如果没有出现任何错误,它可能需要15分钟到一个小时。

有时,你会看到它停止打印到命令提示符。这是Windows 10 命令提示符的一个已知问题,因此只需在窗口中单击并按Enter,它就会恢复运行。

如果不继续,则可能只是在处理一些较大的内容,可能需要一分钟才能完成。让它继续运行几分钟,如果在此之后没有继续运行,请关闭窗口,然后重新运行bat文件。CMake在windows上很奇怪,我真的不知道为什么,它有时还会冻结。

完成后,它应该暂停并要求你按Enter键以关闭命令提示符。这样做只是为了确保一切都正确构建。如果超时,它也可能在构建后自动关闭自己。

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存