YOLOv3配置(win10+opencv3.40+cuda9.1+cudnn7.1+vs2015)
Win10, VS2017环境下OpenCV3.4.2的配置
GPU版
1. VS2017
- 前期已经安装好VS2017
- 看到博客要安装
,见3.1
2. CUDA
- 已安装CUDA9.2,及CUDNN7.4.2
- 但是没有在VS2017配置CUDA
后来发现也不需要配置啥... ...
3. OPENCV3.4
要能在Visual Studio中使用上述安装的OpenCV,需要如下两个步骤:
配置相关的环境变量
建立工程要配置相关的属性
1. 配置相关的环境变量
在用户变量和系统变量中的Path变量都添加进opencv安装目录的build中的bin文件夹路径
D:\opencv\opencv\build\x64\vc15\bin
build文件夹只有"x64"文件夹(似乎是只支持64位系统,所以没有“x86”文件夹),加上我是64位系统,所以选择了“x64”。而至于为什么选择“vc15”下的"bin"文件夹,那是根据所使用的VS版本决定的。
Visual Studio 版本 | OpenCV对应文件夹 |
---|---|
VS2008 | vc9 |
VS2010 | vc10 |
VS2012 | vc11 |
VS2013 | vc12 |
VS2014 | vc13 |
VS2015 | vc14 |
VS2017 | vc15 |
OpenCV3.4.2的"x64"只有"vc14"和"vc15",这意味着它只支持VS2015和VS2017。
2. 建立工程要配置相关的属性
新建c++空文件
进入视图->项目管理器
-
debug x64模式,然后博客上有三种情况
- 在project右键属性
- 在debug上右键属性
- 在debug->Microsoft.cpp.x64.user右键属性
我选择第二种,配置完第4步后,发现以上三种操作效果一样。
包含目录,添加以下路径
在库目录下,添加以下路径添加依赖项,选择“链接器”中的“输入”, “附加依赖项”
在上述库目录(即\build\x64\vc15\lib)中,可以找到对应的.lib,如下图,**如果是在debug模式下,添加opencv_world341d.lib**;若是release模式,则选opencv_world341.lib。它们的文件名相差一个"d",带"d"的表示debug。**不可两个都添加,否则会出现一定的错误**,也不可在debug下配置非debug的lib,在release下配置debug的lib,一定要对应使用。若要在release模式下使用,就要再对应地进行配置。
3. 打开图片
报错:无法打开文件“opencv_world340d.dll
重启电脑,新建项目,发现上面添加的路径和依赖都不见了。
重新添加路径和依赖,成功运行程序。
重新打开运行,没问题。
4. YOLOV3
1、 修改darknet.vcxproj中CUDA版本 10.0改为9.2
2、 打开darknet.slh
平台工具集选择“无升级”
打开后,显示错误 : 项目“D:\...\darknet-master\build\darknet\darknet.vcxproj”配置“Release|x64”的 Designtime 生成失败
将项目改为release x64,同时点击项目,然后重定向解决方案,一定要选择无升级,这样就可以把编译平台停在vs2015。没有报错。
3、 修改配置
常规 – 平台工具集:vs2015(v140)
-
VC++目录 – 包含目录:
…\opencv\build\include
…\opencv\build\include\opencv
…\opencv\build\include\opencv2VC++目录 – 库目录:
…\opencv\build\x64\vc14\lib 添加目录…\opencv\build\x64\vc14\lib下库的名字
这里的目录自己生成了错误的目录,圣童发现才改了回来
4、 "CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions"下的文件直接拷贝到“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations”文件夹中。
5、 将…\opencv\build\x64\vc14\bin下的opencv_world330.dll 和opencv_ffmpeg330_64.dll 复制到 \darknet\darknet-master\build\darknet\x64 目录下
6、 删掉compute_75,sm_75(此步极为关键,要不然必出错)
7、 右键工程项目,点击重新生成,生成成功
8、 下载yolo_v3 weights: https://pjreddie.com/media/files/yolov3.weights,把它放到darknet\build\darknet\x64下
9、 在darknet\build\darknet\x6下按住shift键,点击鼠标右键选择“在此处打开Powershell 窗口(s)。
在命令行输入 .\darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
CPU版
YOLOv3+win10+CPU+vs2017+opencv3.2 检测自己的图片
添加opencv环境,依赖。GPU版本的简化版,上一节的2.3.5.7.8步。