0、下载显卡驱动并安装:
https://www.nvidia.cn/Download/index.aspx?lang=cn
Step 1. 下载源码
opencv https://github.com/opencv/opencv/releases (各个版本都有)
opencv_contrib https://github.com/opencv/opencv_contrib/releases (各个版本都有)
注意:二者版本要一致!
Step 2. 使用CMake开始编译
Cmake我是3.10版本的,之前下载安装的。CMake的安装网上还是有很多教程的,可百度一下。
编译时需要填两个文件路径,
(1)opencv3.4.9安装路径:F:\dongdong\0tool\navidia_cuda_opencv\OPENCV\Opencv349\opencv-3.4.9
(2)目标文件(即编译后的工程文件)路径:F:\dongdong\0tool\navidia_cuda_opencv\OPENCV\Opencv349\opencv-3.4.9\build
注意1:此处要根据你的安装地址来填。
注意2:要根据你所用的VS版本和系统位数来选,比如我的 VS2015+x64(64位系统)。
结束后
Step 3. 使用CMake再次编译
1扩展库
选择opencv_contrib中的module文件目录,填在opencv_extra_module_path选项中,再一次configure。
我的opencv_contrib中的module文件目录为: F:\dongdong\0tool\navidia_cuda_opencv\OPENCV\Opencv349\opencv_contrib-3.4.9\modules
2 为了能使用sift角点特征检测,使能nonfree
(为什么是nonfree?因为sift拿来商用不是免费的 - -)
3 选择cuda
查看当前的cuda版本,确保配置的cuda版本装好了
cuda路径没问题,确认当前版本确实是 10.1
4 关于world对号问题
我这里没有选择,选择了直接生成一个库,虽然方便调用,但是整体杂糅在一个里面不方便。看个个人情况。
重新点击配置,等待结束。
成功后
点击生成
完成后直接点击open project或者到编译输出目录下找到OpenCV.sln使用自己的VS打开此解决方案
打开解决方案后在x64 relase下重新生成解决方案,生成得库都是不带d的。(同理在debug下面生成得都是带d的库)
重新生成过程中如果遇到提示“某个项目外部环境已更改”,选择全部重新加载即可。
配置CUDA的情况下,重新生成解决方案的时间很长,平均都要2-3小时,耐心等待吧。
生成成功之后->右击CMakeTargets目录下的INSTALL->选择仅用于项目->仅生成INSTALL;如下图所示生成install文件,继续等待ing…:
显示成功1,失败后面都是0,恭喜就表示生成成功了。
配置项目属性
生成成功之后,在目的路径会新生成一个Install文件夹,该文件夹就相当于结合了opencv_contrib的opencv库目录。
1、将目的路径 D:\Documents\Projects\NewOpencv\install\bin 路径加入到电脑的环境变量当中
2、打开VS->新建一个空项目,如下: