前言
首先要理解一些概念:opencv opencl opengl openmp cuda
这里我们要opencv、opencl、openmp、cuda的环境配置
电脑配置:win10,显卡NVIDIA10.0,VS2019
1、opencv环境配置
1)网上下载opencv-4.2.0,在电脑上选好目录安装。比如我安装在 E:\Program\opencv\opencv
2)进行环境变量的配置,如我上面的目录对应在path中新建 E:\Program\opencv\opencv\build\x64\vc15\bin
3)当在vs上敲代码是需要用到 opencv相关的函数或者接口时,进行vs环境设置:
右键--属性,
C/C++ --附加包含目录 -- E:\Program\opencv\opencv\build\include E:\Program\opencv\opencv\build\include\opencv2
链接器--常规--附加库目录-- E:\Program\opencv\opencv\build\x64\vc15\lib
链接器--输入--附加依赖项-- opencv_**420d.lib (这里**写涉及到需要用的opencv的库)
2、opencl环境配置
1)下载 AMD-APP-SDK-v2.9-Windows-64,记下安装的位置,比如我安装在C:\Program Files (x86)\AMD APP SDK
2)进行环境变量的配置,在系统变量PATH中新建 C:\Program Files (x86)\AMD APP SDK\2.9
3)安装好AMDAPPSDK之后,打开cmd,输入clinfo命令,将显示出支持OpenCL的硬件信息
4)当在vs上敲代码是需要用到 opencl 相关的函数或者接口时,进行vs环境设置:
右键--属性,
C/C++ --附加包含目录 -- C:\Program Files (x86)\AMD APP SDK\2.9\include
链接器--常规--附加库目录-- C:\Program Files (x86)\AMD APP SDK\2.9\lib\x86 C:\Program Files (x86)\AMD APP SDK\2.9\lib\x86_64
链接器--输入--附加依赖项-- opencv_**420d.lib (这里**写涉及到需要用的opencv的库)
3、openmp环境配置
解决方案上右键点击属性,弹出属性页窗口。
这样就完成了开发环境的设定
4、cuda环境配置
对于cuda的理解:cuda是一个方便我们编写代码调用GPU的框架。
我们在用vs敲代码的时候,用到像opencv这些视觉库,在调试的时候我们可能希望速度快一点,所以在cpu动起来的同时我们也希望GPU动起来,而cuda就可以帮助到这一点。不过要知道,cuda是对应显卡NVIDIA的(要理解好显卡、显卡驱动、gpu、cuda的关系和概念)
1)查看电脑显卡nvidia对应的cuda版本,参考教程 https://jingyan.baidu.com/album/6fb756ec4fabc4241858fbf7.html?picindex=1
我的显卡NVIDIA10.0对应下载cuda10.0版本
2)对cuda进行安装以及测试是否安装成功,参考网上一大堆教程
PS: opencv和cuda的重要相关事项
前面说了cuda可以调动GPU,也就是说我们能够利用 cuda 加速GPU模块,生成俗称的Opencv GPU模板
但是,我们在官网下载opencv4.2.0不包含一些跟cuda相关的库(原因百度了解)。
那要怎么做,才能使得敲代码的时候能够使得opencv使用cuda?可以参考下面两个教程,原理上都是自己重新编译、生成 opencv 的库(其实就是丰富了原来在官网直接下载的opencv的库,使得opencv拥有更多其他可以使用的库,包括与cuda相关的库)
https://blog.csdn.net/dcx_dcx/article/details/104273114
https://blog.csdn.net/Goerge_L/article/details/79777989
PS:
通过以上教程,我们最终要到的库放在 install 目录中。
如果有些我们需要用到的函数对应的库漏掉了,我们也可以单独重新生成。通过cmake我们用到的库,然后在***/opencv/module中找到用到的库,vs打开***/opencv目录下的OpenCV.sln,然后在module中选中我们需要生成的库,点击右键--生成。
最终在 install\x64\vc16\lib 中看看有没有对应的库生成。
来源:https://www.cnblogs.com/pskcoco/p/12446565.html