darknet 源码网站:https://github.com/pjreddie/darknet

技术支持官网:https://pjreddie.com/darknet/

darknet采用C++编写,从github下载源码后,需要先编译才能运行。

在windows下不支持opencv的编译方法较为简单,参见本人前一篇文章。

在windows下支持opencv的编译方法本人走了较多弯路,因此总结出来,给同样需要在windows下使用yolo的人员参考。

1, 踩过的坑

最直接的办法就是修改makefile,将OPENCV=0改为OPENCV=1,然后采用cgywin的gcc来make

但make时会出现pkgconfig未配置或opencv.pc找不到。

网上查了一下,似乎要生成opencv.pc需要重新编译opencv源代码,甚为繁琐。且一般的编译指导都是在linux环境下。

在网上翻了一下,想直接找一个opencv.pc的例子下载来改改,也找不到。

2,思路

后来想,pkgconfig或opencv.pc无非也就是配置一些编译需要的头文件和库文件,为什么不直接在makefile中直接配置呢?

于是在makefile的opencv段中,删除了以下两段。

LDFLAGS+= `pkg-config --libs opencv`
COMMON+= `pkg-config --cflags opencv`

但make时显然就会报错,可以按错误提示重新配置参数。

3,解决头文件问题

由于编译darknet时需要opencv的头文件,make时会报错,显示找不到文件 “opencv2\highgui.hpp”等等之类的信息。

于是将opencv3安装目录下的“opencv\build\include\opencv2”目录整体拷贝到darknet的“\include”目录下,问题解决。

4,解决库文件问题

make此时可以成功生成*.o目标文件,但因为未指定opencv库,无法链接生成darknet.so和darknet.a文件。

因此在makefile的opencv段中,加入以下配置。具体路径视计算机安装opencv的位置而定:

LDFLAGS+= D:/opencv3/opencv/build/x64/vc14/lib/opencv_world330.lib

此时在执行make,就能成功编译出darknet.exe、darknet.so和darknet.a文件。其中包含opencv功能,检测完毕可以直接弹出窗口

darknet detector test cfg/coco.data cfg/yolov2.cfg ../dn-wgts/yolov2.weights data/kite.jpg

darknet+opencv在windows上的编译的更多相关文章

  1. netcdf源码在windows上的编译

    作者:朱金灿 来源:http://blog.csdn.net/clever101 今天搞搞netcdf源码在windows上的编译,折腾了半天,算是搞成了,特地记录一下过程.我的目标是要生成netcd ...

  2. Windows上成功编译CoreCLR源代码

    昨天得知微软在GitHub上发布CoreCLR的源代码之后,立马从GitHub上签出代码,并尝试在Windows Server 2012上进行编译. 参考CoreCLR的开发者指南(Developer ...

  3. 在Windows上一键编译各种版本的Protobuf

    所需工具 : cmake  for  windows 和  git for windows 原理:protobuf 是google的一个开源项目,其源代码在github上可以下载到,并且源码都采用cm ...

  4. 在windows上一键编译各种版本的protobuf(2017-12-05修改)

    所需工具 : cmake  for  windows 和  git for windows 原理:protobuf 是google的一个开源项目,其源代码在github上可以下载到,并且源码都采用cm ...

  5. Windows上快速编译caffe CPU版本

    windows上快速安装配置Caffe的 cpu_only环境. 一:安装环境: 1.windows10: 2.Visual Studio2013: 3.Caffe版本:http://github.c ...

  6. QT库在Windows上的编译

    1.从http://www.qtcentre.org/下载QT源代码,注意是源代码.我下载到的是QT4.5.1版,文件名为qt-win-opensource-src-4.5.1.zip: 2.解压,注 ...

  7. Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器(无数截图)

    [文章作者:张宴 本文版本:v1.0 最后修改:2011.03.30 转载请注明原文链接:http://blog.s135.com/libevent_windows/] 本文介绍了如何在 Window ...

  8. Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器(图文并茂,还有实例下载)

    [文章作者:张宴 本文版本:v1.0 最后修改:2011.03.30 转载请注明原文链接:http://blog.s135.com/libevent_windows/] 本文介绍了如何在 Window ...

  9. Zlib 在windows上的编译

    1.下载http://www.zlib.net 下载,最新版本1.2.8 2.解压后,实际已提供了在vc下编译的工程,目录为:zlib-1.2.8\contrib\vstudio. 其中的zlibst ...

随机推荐

  1. Android ImageLoader 本地缓存

    Android ImageLoader 本地缓存 本地缓存                                                                        ...

  2. 2016/2/24 css画三角形 border的上右下左的调整 以及内区域的无限变小 边界透明

    网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. 今天 ...

  3. struts2 Action获取表单数据

    1.通过属性驱动式 1.首先设置 表单中的数据的name值 如:<input type="text" name="username" value=&quo ...

  4. TPC-H is a Decision Support Benchmark

    TPC-H is a Decision Support Benchmark http://www.dba-oracle.com/t_tpc_benchmarks.htm

  5. WEB 字体

    之前如果想在自己的网站使用某些好看的字体,总是迫不得已得在PS里先把字体图片做好.虽然这样做也能达到我们想要的效果,但是这样就增加了HTTP请求 (如果在多处使用的话),即使合并所有图片,也不好管理, ...

  6. Expression Blend实例中文教程(8) - 动画设计快速入门StoryBoard http://silverlightchina.net/html/tips/2010/0329/934.html

    Expression Blend实例中文教程(8) - 动画设计快速入门StoryBoard 时间:2010-03-29 11:13来源:SilverlightChina.Net 作者:jv9 点击: ...

  7. 并不对劲的uoj276. [清华集训2016]汽水

    想要很对劲的讲解,请点击这里 题目大意 有一棵\(n\)(\(n\leq 50000\))个节点的树,有边权 求一条路径使该路径的边权平均值最接近给出的一个数\(k\) 输出边权平均值下取整的整数部分 ...

  8. bzoj 1941 Hide and Seek

    题目大意: n个点,求每个点到其最远点距离-到其最近点距离(除自己之外)的最小值 思路: 对于估计函数的理解还不够深刻 #include<iostream> #include<cst ...

  9. bzoj2809 [Apio2012]dispatching——左偏树(可并堆)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2809 思路有点暴力和贪心,就是 dfs 枚举每个点作为管理者: 当然它的子树中派遣出去的忍者 ...

  10. 2.jeesite增删改查

    一.准备数据 在数据库中中添加一张表和数据,以mysql为例 SET NAMES utf8; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------- ...