部署环境: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. 泡泡一分钟:LandmarkBoost: Efficient Visual Context Classifiers for Robust Localization

    Marcin Dymczyk, Igor Gilitschenski, Juan Nieto, Simon Lynen, Bernhard Zeis, and Roland Siegwart Land ...

  2. Qt编写气体安全管理系统23-类型设置

    一.前言 类型设置这个功能模块大大拓展了整个系统的灵活性,将整个系统中所有用到的控制器型号.探测器数量.探测器型号.气体种类.气体符号都存储到数据库表中,用户在类型设置中可以自由添加删除和修改,这样后 ...

  3. hadoop记录-[Flink]Flink三种运行模式安装部署以及实现WordCount(转载)

    [Flink]Flink三种运行模式安装部署以及实现WordCount 前言 Flink三种运行方式:Local.Standalone.On Yarn.成功部署后分别用Scala和Java实现word ...

  4. python设计模式第2版

    python设计模式第2版 目录 第1章 设计模式简介 1 1.1 理解面向对象编程 1 1.1.1 对象 2 1.1.2 类 2 1.1.3 方法 2 1.2 面向对象编程的主要概念 3 1.2.1 ...

  5. [概率DP][消元法][CF24D]损坏的机器人

    Description 有一只坏了的机器人站在一个\(n\times m\)的网格里,初始位置在\((x,y)\).现在每个单位时间内它会随机选左右下三个方向走,如果它随机的方向会走出网格就不会往这个 ...

  6. 客户端连接Codis集群

    新建maven webapp项目 添加相关依赖: <dependency> <groupId>redis.clients</groupId> <artifac ...

  7. docker 搭建私有 docker hub

    查找registry 镜像 meiya@meiya:/etc/docker$ clear meiya@meiya:/etc/docker$ docker search registry NAME DE ...

  8. 【剑指offer】面试题 52. 两个链表的第一个公共结点

    面试题 52. 两个链表的第一个公共结点 NowCoder 题目描述 输入两个链表,找出它们的第一个公共结点. Java 实现 ListNode Class class ListNode { int ...

  9. LeetCode 142. 环形链表 II(Linked List Cycle II)

    142. 环形链表 II 142. Linked List Cycle II 题目描述 给定一个链表,返回链表开始入环的第一个节点.如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整 ...

  10. 【转帖】linux date 显示指定时区的时间 借助TZ 环境变量 export TZ=Asia/Shanghai 或 America/New_York

    linux date 显示指定时区的时间 借助TZ 环境变量 export TZ=Asia/Shanghai 或 America/New_York 2015-02-10 10:58:22 youcha ...