一、工具
1. x64 + win10 + vs2017
2. opencv
3. opencv_contib
4. NVIDIA显卡驱动:注意与主机版本型号一致
5. cuda10.2+cuCNN: 注意版本一致
6. cmake 编译代码的软件
由于官网下载过慢,可直接在百度云下载
二、安装
- nvidia驱动安装, cuCNN安装
- opencv编译
step1: 进行图1中步骤1、2,添加源码路径以及编译工程的路径
step2: 1)configure(进行图1中步骤3):
2)选择对应的VS以及x64(64位pc),finish
3)勾选BUILD_CUDA_STUBS、OPENCV_DNN_CUDA、WITH_CUDA
4)赋值 OPENCV_EXTRA_MODLUES_PATH={root_path_of_opencv_contrib }/opencv_contrib/modules,接着 configure
5)再勾选CUDA_FAST_PATH(直到这一步才会出现这个变量)
,再configure
6)等待输出configuring done,且滑动输出内容知道无红色字体出现(error以及warring)
step3: 进行图1中步骤4,等待输出generating done,且滑动输出内容知道无红色字体出现(error以及warring)
step4: 至此,项目编译成功,打开编译工程的路径,双击OpenCV.sln,打开工程,分别用release\debug生成解决方案以及install - 编译注意事项
1)opencv download 错误
configure时,若出现download warring:FFMPEG: Download failed等,可在opencv官网第三方库,通过切换分支将第三方库下载到本地,然后替换opencv源码目录中 .cache中未下载成功的文件(0KB文件)。
例如FFMPEG: Download failed:操作如下
step1: opencv_3rdparty切换到分支ffmpeg/3.4_20200907,然后下载该分支的内容到本地
step2: 将文件夹ffmpeg中文件opencv_ffmpeg.dll、opencv_ffmpeg_64.dll以及ffmpeg_version.cmake,替换opencv源码路径下.cache/ffmpeg文件夹中文件,且文件名改为.cache/ffmpeg文件夹中对应的文件名
step3: 若未再提示:FFMPEG: Download failed,即完成;若再提示warring:FFMPEG: Download failed,则查看编译工程文件中CMakeDownloadLog.txt,通常提示hash值不匹配,那可根据提示应匹配的hash值,修改opencv源码目录下3rdparty/ffmpeg/ffmpeg.cmake文件,将其中的hash值改为CMakeDownloadLog.txt文件中应【匹配的值,并修改.cache/ffmpeg文件夹中对应的文件名,修改后如图2所示:
2)debug模式生成解决方案时,若提示pyhon_d.lib无法打开,可参考解决方案
//修改文件 Anaconda -> python -> pyconfig.h
# ifdef _DEBUG
# pragma comment(lib,"python38.lib") //原为 # pragma comment(lib,"python38_d.lib")
# else
# pragma comment(lib,"python38.lib")
# endif /* _DEBUG */
#define Py_DEBUG //注释掉改为
//#define Py_DEBUG