软硬件环境
- windows 10 64bit
- nvidia gtx 1070Ti
- opencv 4.2.0
- cuda 10.2
- cudnn 7.6.5.32
- visual studio 2019
视频看这里
前言
前文 windows编译opencv,支持cuda加速,我们已经在windows
上编译好了opencv
源码,本文就开始使用opencv
库。
使用编译好的opencv
首先,我们需要编辑下PATH
环境变量,将编译好的用于visual studio
的路径加入进去,如下图所示
接着打开visual studio 2019
,创建一个新的项目
项目类型,我们选择cmake
项目,因为opencv
也是基于cmake
构建的,我们跟它保持一致
填写项目名称和项目的存储位置,你开心就好
这样呢,工程就创建好了
我们把之前的一个基于opencv dnn
模块的人脸检测的代码拷贝过来, 粘贴到OpenCVDLLTest.cpp
文件中进行测试,原始工程的路径在: https://github.com/xugaoxiang/FaceDetectionWithOpenCVDNN, 接下来开始编辑CMakeLists.txt
文件,这里面是工程的cmake
配置,我们需要在原来的基础上添加几条语句,如下图所示
其中
-
set(OpenCV_DIR C:/xugaoxiang/opencv_cuda/vs/install)
设置编译好的
opencv
的目录,这个目录底下就是opencv
的库及头文件,非常重要 -
find_package(OpenCV REQUIRED)
查找
opencv
的包 -
include_directories( ${OpenCV_INCLUDE_DIRS} )
把
opencv
的头文件包含进来,这个配置在cmake
2.8.11版本以后可以不用写 -
target_link_libraries( OpenCVDLLTest ${OpenCV_LIBS} )
把
opencv
的库链接进来
关于opencv
自定义的变量,可以参考这个源码文件opencv/cmake/templates/OpenCVConfig.cmake.in
,里面讲解的很详细
最后一步将代码中需要用到的caffe
的2个文件(github
仓库里有)也拷贝过来
最后运行下工程
参考资料
- https://xugaoxiang.com/2019/12/26/build-opencv-with-cuda-for-windows/
- https://xugaoxiang.com/2019/12/18/windows-10-cuda-cudnn/
- https://xugaoxiang.com/2019/12/08/anaconda/
- https://github.com/xugaoxiang/FaceDetectionWithOpenCVDNN
- https://github.com/opencv/opencv
- https://github.com/opencv/opencv_contrib