部署环境:win10 +CUDA 10.0 + vs2017 + opencv 3.4.0 

代码版本是 https://github.com/AlexeyAB/darknet

1、初始准备

  (1)下载代码

  (2)确保 VS2017 安装了 VC++ v140工具集,如果没有安装,打开 Visual Studio Installer  ——修改——选中 c++ 在右侧找到 vc++ v140  如下图所示

  

2、修改项目文件

  (1)如果环境不是 CUDA10.0 (安装了CUDA9.0等),文本编辑器打开  darknet.vcxproj  搜索 CUDA 10.0 字样 ,一共两处 (CUDA 和 10.0 中间有个空格)将 CUDA 10.0  换成你安装的 CUDA 版本 例如( CUDA 9.0 )

  (2)如果是 CUDA 9.0 ,还需要把  ;compute_75,sm_75   换成   ;compute_70,sm_70  

3、项目配置

  (1)打开 darknet.sln (没有 GPU 的 打开 darknet_no_gpu.sln 前面修改也是修改对应无 GPU 的 vcxproj 项目文件 ) ,第一次打开会提示 重新定向项目 这里 windows sdk  选择 10.0  ,平台工具集选择 无升级    

                

  (2)设置 程序 release X64

    

  (3)右击 darknet ——属性

     a) 确定平台工具集是 V140

      

      b)设置VC++目录(包含目录和库目录),分别设置为 OpenCV 的 安装目录  中的

        C:\opencv\opencv\build\include

        C:\opencv\opencv\build\include\opencv

        C:\opencv\opencv\build\include\opencv2

        和 C:\opencv\opencv\build\x64\vc14

        

      c) 设置链接器

        链接器——输入——附加依赖项 点开后  直接添加  C:\opencv\opencv\build\x64\vc14 目录中的 lib 文件的名称 (这里是 opencv_world340.lib )

      

      d)分别点击应用和确定

4、开始编译

  (1)darknet项目右击 生成

  (2)将 C:\opencv\opencv\build\x64\vc14 目录下的 opencv_ffmpeg340_64.dll  和  opencv_world340.dll 复制到  darknet-master\build\darknet\x64  目录下

  (3)几种编译报错的 解决方法

    a )MSB8036 The Windows SDK version 8.1 was not found.

     解决方法: 这是由于目标版本问题,右击项目 —— 常规——将目标版本选中有的那个(这里是10.0.17763.0)

                        

    b ) MSB4019 未找到导入的项目“***Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 10.0.targets”。请确认 <Import> 声明中的路径正确,且磁盘上存在该文件。 darknet \darknet-master\build\darknet\darknet.vcxproj 301

      解决方法:将 NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\visual_studio_integration\MSBuildExtensions  文件夹 中的所有文件 复制到 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations 中重新编译即可

    c ) opencv2/core/core.hpp : No such file or directory

      解决方法:右击项目 —— 将配置改成 release  平台改成 x64

    

5 使用测试

     在源码页面下载yolov3的 yolov3.weights 也可以自己下载其他权重测试

    

    进入 darknet-master\build\darknet\x64  目录 打开命令行 输入  ./darknet.exe detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights -thresh 0.25

    然后输入图片路径即可检测图片      ( -thresh 0.25  代表检测阈值,概率高于0.25的画框

    

     其他 检测命令

    检测视频 ./darknet.exe detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights -thresh 0.25 test.MP4

      检测网络像头: ./darknet.exe detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights -thresh 0.25 相机网络地址

    其他检测可参照 github 网址

win10 下的YOLO v3 的编译与使用的更多相关文章

  1. 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  2. QT5.7.0在win10下使用visual studio 2015编译(目标平台 xp)

    环境:win10+vs2015+QT5.7.0 目标:编译出能在windows xp上运行的QT 通过baidu和bing找出来的结果没有一个能成功运行,大部分都能编译成功,并完美解决“exe不是有效 ...

  3. win10下安装Cygwin配置gcc编译环境

    首先要说明的是,我个人安装cygwin的用途是为了使用kenlm工具训练通及语言模型. 注:统计语言模型工具有比较多的选择,目前比较好的有srilm以及kenlm,其中kenlm比srilm晚出来,训 ...

  4. 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  5. win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件

    win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件   1.去git上下载react-devtools文件到本地,https://github.com/fac ...

  6. Win10下编译OpenJDK8

    导航目录 Win10下编译OpenJDK8 相关参考文章 编译环境 编译前准备 1.安装 Visual Studio 2010 Professional 2. 准备OpenJDK8 3. 编译JDK环 ...

  7. win10下使用nodejs安装及webstorm创建express项目的指导

    title: win10下使用nodejs安装 win10下使用nodejs安装及webstorm创建express项目的指导 windows下nvm的安装 熟悉linux下nodejs开发的朋友应该 ...

  8. win10 下的YOLOv3 训练 wider_face 数据集检测人脸

    1.数据集下载 (1)wider_face 数据集网址为 http://shuoyang1213.me/WIDERFACE/index.html 下载以上几项文件(这里推荐 google Drive ...

  9. YOLO---Darknet下使用YOLO的常用命令

    Darknet下使用YOLO的常用命令 整理了一下,随手记一下. 在终端里,直接运行时Yolo的Darknet的各项命令,/home/wp/darknet/cfg/coco.data文件,使用原件:= ...

随机推荐

  1. k8s记录-docker私有仓库

    docker pull registry docker run -d -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always ...

  2. TroubleShooting经验总结

    1.WinDbg是微软开发的免费源代码级的调试工具.WinDbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件.WinDbg对于dump文件的调试可以通过菜单设置Symbol Fi ...

  3. Python常见的异常

    Python中常见的异常如表所示. exception的更多用法: 1.通常else 语句只有在没有异常的情况下才会被执行 try: aa = "异常测试:" print(aa)e ...

  4. 如何解决mac brew遇到无法下载的依赖?

    使用brew安装软件时,需要下载依赖包,但是如果依赖包特别大的时候,就很容易失败:brew本身不支持断点续传:但是可以使用wget -c的方式断点续传的下载依赖:下载完如何给brew安装使用呢?参考: ...

  5. PHP使用glob方法遍历文件夹下所有文件

    PHP使用glob方法遍历文件夹下所有文件 遍历文件夹下所有文件,一般可以使用opendir 与 readdir 方法来遍历.<pre><?php$path = dirname(__ ...

  6. Ajax基本概念

    一. Ajax 1. 什么是ajax Ajax: asynchronous  javascript  and  xml (异步js和xml) 其是可以与服务器进行(异步/同步)交互的技术一. ajax ...

  7. Select 查询语句

    1.1  查询语句 1.1.1     select select 用于从数据看查询数据.语法 select field1,filed2,.. . from tablename [where cond ...

  8. LeetCode 100. 相同的树(Same Tree) 2

    100. 相同的树 100. Same Tree 题目描述 给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 每日一算法2019/5 ...

  9. 【HTML5校企公益课】第二天

    1.上午讲昨天的作业. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

  10. Echarts 不能百分比显示或显示有问题

    1,设折线图宽为100%(如:容器div的class=“RiBarBot”宽为880px),刚初始化时隐藏折线图(或后期刷新.隐藏与显示折线图时),当点击显示折线图时,获取到的宽只有100px,并不是 ...