darknet(https://github.com/pjreddie/darknet)实现了YOLO网络模型,能快速准确识别多达9000种物体。但其在windows系统上的安装却并非一帆风顺,本文进行总结,以免掉坑。

1,操作系统环境

Windows7 64位操作系统,无gpu

2,下载darknet

在网站https://github.com/pjreddie/darknet上,点击“clone or download”,然后选择“download ZIP”,下载为文件darknet-master.zip。解压到“F:\test\git-src\darknet-master”目录。

3,下载安装Cygwin

参照以下文章“windows 安装cygwin教程”进行安装。

https://blog.csdn.net/chunleixiahe/article/details/55666792

重点:

²        寻找映像文件时,要选择国内快速站点。比如下文推荐的sohu镜像(http://mirrors.sohu.com/cygwin/)。笔者就是采用它,安装非常快速。

https://blog.csdn.net/u011393033/article/details/51766876

²        选择组件时,要加上devel目录下的make组件,否则无法执行make命令。

²        记得添加windows环境变量,最好将cygwin\bin放到path开头。

4,编译darknet

进入Cygwin64 Terminal,目录转移到F:\test\git-src\darknet-master,然后执行make。

结束后,会产生darknet.exe、libdarknet.a、libdarknet.so文件。

注意:

²        编译darknet源码不能采用mingw,要采用cygwin。笔者首先安装的是mingw组件包,结果在编译时出现大量头文件不存心的错误。

²         执行make前要先删除已存在的obj目录。由于笔者曾经采用过mingw进行编译,虽然失败未生成libdarknet.so文件,但obj目录下生成不少.o目标文件,此时如果直接用cygwin执行make,会出现大量莫名错误。如“对‘_XXX’未定义的引用”、/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld: i386 架构于输入文件 libdarknet.a(shortcut_layer.o) 与 i386:x86-64 输出不兼容

²         Examples\Go.c 文件需要修改,要加上“#include <sys/select.h>”,否则编译出错

5,使用darknet

Darknet的使用可参考如下官方网址:https://pjreddie.com/darknet/

笔者测试的是最新的yolo V3模型,具体参见:

https://pjreddie.com/darknet/yolo/

输入如下命令:

darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

其中“dog.jpg”如下图所示。YoloV3虽然花费时间28秒久了点,但对图中的自行车、狗和卡车实现了完美识别。

打开生成的predictions.png文件如下,至此Yolo在windows上的应用取得成功。

darknet在windows上的安装编译与使用的更多相关文章

  1. jinkins在windows上的安装 配置C#编译

    首先jinkins在windows上的安装就不说,安装只需要下载相应安装包就可以了,后有些时候经常需要修改端口号.修改如下: 然后重启jenkins服务 首次运行界面 个人建议插件按需安装. 建立一个 ...

  2. (转)windows上virtualenv 安装及使用

    [注意]要在某个含有空格的目录下面创建virtualenv环境,就要安装 win32api . 原文地址:http://blog.csdn.net/liuchunming033/article/det ...

  3. git在windows上的安装和简单使用

    git在windows上的安装和简单使用. 参考: https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E ...

  4. Windows上PostgreSQL安装配置教程

    Windows上PostgreSQL安装配置教程 这篇文章主要为大家详细介绍了Windows上PostgreSQL安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 PostgreSQL的 ...

  5. windows上pip安装及使用详解

    windows上pip安装及使用详解 2018-11-21 19:49:58 十二笔 阅读数 8229更多 分类专栏: Python学习   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA ...

  6. Windows上Tomcat安装以及解决乱码问题

    Windows上Tomcat安装以及解决乱码问题 下载tomcat8 1.进入tomcat官网 官方网站 2.选择windows的版本 解压 确定自己配置好了jdk jdk的相关配置 配置好tomca ...

  7. EJBCA 在windows上的安装

    为了做EJBCA的封装測试,在我自己电脑上装了个,可是在国内的开发上面的介绍实在是太少.有的也仅仅是些傻瓜式的安装介绍,这是介绍在Windows上安装的过程,(后面介绍下 linux 红帽上的),有些 ...

  8. node.js在ubuntu上和windows上的安装

    Ubuntu 上安装 Node.js Node.js 源码安装 以下部分我们将介绍在Ubuntu Linux下安装 Node.js . 其他的Linux系统,如Centos等类似如下安装步骤. 在 G ...

  9. MongoDB 3.2 在windows上的安装

    翻译自 https://docs.mongodb.org/master/tutorial/install-mongodb-on-windows/ 在windows上安装 MongoDB 平台支持:从M ...

随机推荐

  1. 【STORAGE】Qlogic FC存储交换机cmd配置方法

    *************************************************************** ****原文: blog.csdn.net/clark_xu  徐长亮专 ...

  2. Hibernate 之 二级缓存

    在上篇文章中我们对缓存以及Hibernate的一级缓存进行了介绍,接下来的主要内容将是Hibernate的二级缓存. 二级缓存也称为进程级的缓存或SessionFactory级的缓存,二级缓存可以被所 ...

  3. BZOJ1016 &amp;&amp; JSOI2008] 最小生成树计数

    题目链接:id=1016">点击打开链接 裸题 #pragma comment(linker, "/STACK:1024000000,1024000000") #i ...

  4. arm位清零bic指令

    (1)指令的语法格式 BIC{<cond>}{S} <Rd>,<Rn>,<shifter_operand> BIC(Bit Clear)位清零指令,将寄 ...

  5. YTU 2559: “心脏出血”

    2559: "心脏出血" 时间限制: 1 Sec  内存限制: 128 MB 提交: 5  解决: 2 题目描述 2014年4月,一个开源加密库OpenSSL的严重漏洞" ...

  6. RDD的基本命令

    1 创建RDD intRDD=sc.parallelize([3,1,2,5,6]) intRDD.collect()[4, 2, 3, 6, 7] 2 单RDD转换 (1) MAP def addo ...

  7. c语言和oc对比

    1)源文件对比 思考&实现1: 1)在C语言中,我们遇到不同后缀的文件有哪些? .c .o .out .h 2.基本语法对比 1)数据类型对比学习 2)变量的定义对比 3)流程控制语句对比 1 ...

  8. Linux CentOS 6.5中安装与配置Tomcat-8方法

    安装环境:CentOS-6.5 安装方式:源码安装 软件:apache-tomcat-8.0.0.RC3.tar.gz 下载地址:http://tomcat.apache.org/download-8 ...

  9. ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(五)外借/阅览图书信息的增删改查

    前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/asp ...

  10. 洛谷 P3254 圆桌问题【最大流】

    s向所有单位连流量为人数的边,所有饭桌向t连流量为饭桌容量的边,每个单位向每个饭桌连容量为1的边表示这个饭桌只能坐这个单位的一个人.跑dinic如果小于总人数则无解,否则对于每个单位for与它相连.满 ...