VS2015 +cuda9.2 +opencv3.3.0+Cmake3.1.4编译

最近一个项目需要一秒内处理几千张图片,传统的cpu 是做不到的,所以我们引入了cuda。
要实现opencv 和cuda的联合开发,首先需要重新编译oepncv,才能支持cuda。
1、 查看本机配置,查看显卡类型是否支持NVIDIA GPU,本机显卡为NVIDIA GeForce GTX750ti;
2、 从http://www.nvidia.cn/Download/index.aspx?lang=cn下载最新驱动并安装;
3、 从https://developer.nvidia.com/cuda-toolkit根据本机类型下载相应最新版的CUDA Toolkit 9.2 64位,安装,并通过样本程序验证其安装正确;
4、 将C:\ProgramFiles\NVIDIAGPU Computing Toolkit\CUDA\v9.2\bin添加到环境变量中(检查是否已经默认添加);
5、 从https://github.com/01org/tbb/releases下载最新版的TBB4.4,解压缩,并将其bin目录D:\CCDQ\opencv\tbb2018_20180618oss_win\
tbb2018_20180618oss\bin\intel64\vc14;添加到环境变量中,注销或重启;6、 从https://opencv.org/releases.html下载最新版本的OpenCV3.3.0,并解压缩到D:\CCDQ\opencv\opencv3.3.0文件夹中;
7、 从https://cmake.org/download/下载最新版本的CMake3.12.1并安装,我用的是3.1.4版本;
8、打开CMake,在Where isthesource code:中选择D:\CCDQ\opencv\opencv3.3.0\sources文件夹,在Where to buildthe binaries:中选择D:/vs2015_GPU文件夹,此文件夹为手动创建;
9、点击Configure按钮,在弹出的对话框中选择VisualStudio 14 2015 win64,然后点击Finish;
10、 如果有红色框出现,勾选 、WITH_TBB、WITH_CUBLAS、WITH_CUDA、WITH_CUFFT,然后再次点击Configure按钮;
11、如果还有红色框出现,TBB_ENV_INCLUDES,将其值改为D:/CCDQ/opencv/tbb2018_20180618oss_win/tbb2018_20180618oss/include为TBB中include所在的目录,然后再次点击Configure按钮;
12、 如何还有红色框出现,TBB_ENV_LIB设为D:/CCDQ/opencv/tbb2018_20180618oss_win/tbb2018_20180618oss/lib/intel64/vc14/tbb.lib;
TBB_ENV_LIB_DEBUG设为D:/CCDQ/opencv/tbb2018_20180618oss_win/tbb2018_20180618oss/lib/intel64/vc14/tbb_debug.lib;
TBB_VER_FILE设为D:/CCDQ/opencv/tbb2018_20180618oss_win/tbb2018_20180618oss/include/tbb/tbb_stddef.h;
cuda_generation设为你显卡架构,这里是maxwell架构。
这里值得注意的是如果你遇到如下错误:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_nppi_LIBRARY (ADVANCED)
请按照https://blog.csdn.net/u014613745/article/details/78310916
修改opencv下的文件。
13、 点击configure,会出现configure done 字样。
14、点击Generate按钮,此时会在D:/vs2015_GPU文件夹下生成OpenCV.sln文 件;
15、以管理员身份,使用vs2015打开OpenCV.sln文件
16、找到右键生成【Build ALL】,应该会有磨磨唧唧2h左右的生成,切换Release,再次【Build All】,整个过程需要4个小时。
右键下边的【Install】生成。(同样要在Debug下和Release下各生成一次) 20min左右。
17、 打开VS2015,新建一个空项目文件,在【源文件】中新建一个.cu文件。选择x64平台,开始配置。Debug界面:
【VC++目录】—【包含目录】:
D:\CCDQ\opencv\vs2015_GPU\install\include\opencv2
D:\CCDQ\opencv\vs2015_GPU\install\include\opencv
D:\CCDQ\opencv\vs2015_GPU\install\include
【VC++目录】—【库目录】: D:\CCDQ\opencv\vs2015_GPU\install\x64\vc14\lib
【清单工具】—【输入和输出】—【嵌入清单】—【否】
【链接器】—【附加依赖项】: 包含CUDA和OpenCV的所有依赖项
opencv_stitching330d.lib;opencv_superres330d.lib;opencv_videostab330d.lib;opencv_cudaoptflow330d.lib;opencv_cudaobjdetect330d.lib;opencv_cudastereo330d.lib;opencv_cudalegacy330d.lib;opencv_cudafeatures2d330d.lib;opencv_cudacodec330d.lib;opencv_calib3d330d.lib;opencv_features2d330d.lib;opencv_highgui330d.lib;opencv_photo330d.lib;opencv_videoio330d.lib;opencv_cudaimgproc330d.lib;opencv_imgcodecs330d.lib;opencv_cudafilters330d.lib;opencv_dnn330d.lib;opencv_cudaarithm330d.lib;opencv_shape330d.lib;opencv_cudabgsegm330d.lib;opencv_cudawarping330d.lib;opencv_objdetect330d.lib;opencv_video330d.lib;opencv_imgproc330d.lib;opencv_flann330d.lib;opencv_ml330d.lib;opencv_core330d.lib;opencv_cudev330d.lib

你可能感兴趣的:(cuda)