CUDA版本OpenCV的编译方法

CUDA版本OpenCV的编译方法

VS2013 + OpenCV3.4.0 + CUDA10.1 + CMake 3.15.5

  1. 安装CUDA

从英伟达官网下载CUDA安装程序,

https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exenetwork

这里选的是10.1版本(官网现在是10.2版本了)

CUDA版本OpenCV的编译方法_第1张图片

选择network版本的,体积小一些。安装程序后续会自动从官网上下载必要的文件,速度还可以,1~2M每秒。

  1. 安装CUDA

一路Next即可,注意一下两点:

选择自定义模式

CUDA版本OpenCV的编译方法_第2张图片

仅选择CUDA,不要安装里面的Driver

CUDA版本OpenCV的编译方法_第3张图片

  1. 部署OpenCV代码

这里用到的是OpenCV 3.4.0这个版本,解压缩到D盘的根目录(其他目录也可以,最好不要放在C盘,目录中不要有中文)

将源代码的压缩包解压后,创建文件夹sources并将所有的文件拷贝到sources文件夹下,并在同级目录建立一个build文件夹,用于编译代码。

CUDA版本OpenCV的编译方法_第4张图片

CUDA版本OpenCV的编译方法_第5张图片

  1. CMAKE配置

打开CMAKE软件,在源文件与目标文件的目录下,分别填入之前的sources和build地址

CUDA版本OpenCV的编译方法_第6张图片

勾选WITH_CUDA,并点击Configure

CUDA版本OpenCV的编译方法_第7张图片

弹出的编译器配置会自动选择电脑安装的VS版本,记得选择X64版本,否则后面的代码编译会报错,找不到对应的CUDA库。我自己看了一下,CUDA下X86和X64的库不一样,X86的缺失了太多,功能不全。

CUDA版本OpenCV的编译方法_第8张图片

CUDA版本OpenCV的编译方法_第9张图片

Configure结束后,要看一下信息框中的内容,CUDA相关的是否显示已经找到。正确的情况可以看到检测到了CUDA的版本号。

  1. 点击Generate生成VS工程文件

这一步比较简单,会在之前build文件夹下,生成OpenCV的工程文件

CUDA版本OpenCV的编译方法_第10张图片

  1. 编译代码

直接点击“生成”中的“生成解决方案”即可,期间会出现一个编译错误

错误 1 error MSB3073: 命令“setlocal

"C:\Program Files\CMake\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake

if %errorlevel% neq 0 goto :cmEnd

:cmEnd

endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone

:cmErrorLevel

exit /b %1

:cmDone

if %errorlevel% neq 0 goto :VCEnd

:VCEnd”已退出,代码为 1。 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 132 5 INSTALL

网上说要用管理员权限运行VS,尝试了一下无果。查资料后得知,要修改INSTALL工程的属性

项目–>属性–>生成事件–>后期生成事件–>在生成中使用–>否

CUDA版本OpenCV的编译方法_第11张图片

之后就是漫长的编译了……

编译1个多小时的进度

 

 

你可能感兴趣的:(计算机视觉,编程相关)