在windows下用python调用darknet的yolo接口
0,目标
本人计算机环境:windows7 64位,安装了vs2015专业版,python3.5.2,cygwin,opencv3.3,无gpu
希望实现用python调用yolo函数,实现物体检测。
1,踩过的坑
一开始下载了github上最热的开源项目https://github.com/pjreddie/darknet
采用cygwin编译,make后生成了darknet.exe, libdarknet.so和libdarknet.a。
在windows命令行采用darknet.exe,加上参数运行图片中的物体检测,一切OK,一切看起来如此美好。
然而,当我运行darknet.py时,始终无法正常运行。

如果在cygwin下运行,就报错segmentation fault 。
就此问题纠结了一周左右,深刻反省之余在github上偶然发现有个发行版号称“Windows and Linux version of Darknet Yolo v3 & v2 Neural Networks for object detection”
是上述正统发行版的一个Fork。哈哈,有救了。
2,windows乞丐配置如何编译EXE和DLL?
从https://github.com/AlexeyAB/darknet网站下载源码,分别编译exe和dll文件。
编译exe。打开darknet_no_gpu.sln,按照其中有opencv,无gpu的配置方法,在vs2015中对一些路径进行修改,然后编译,生成exe。测试运行正常!
编译dll。 打开yolo_cpp_dll_no_gpu.sln,删除属性中有关cuda的特性(以符合乞丐版的特性@^@),然后编译,生成dll。
此处需注意,有可能编译报错“无法运行rc.exe”。此时请参考下文解决:
https://stackoverflow.com/questions/14372706/visual-studio-cant-build-due-to-rc-exe
3,windows乞丐配置也能跑darknet.py?
是的。有了DLL,darknet.py调用库中的函数都正常了。如下图所示。
可见,.so文件在windows运行环境下,在python中调用会失败,必须是.dll文件windows才能正常加载。
《完》

在windows下用python调用darknet的yolo接口的更多相关文章
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- windows下安装python模块
如何在windows下安装python模块 1. 官网下载安装包,比如(pip : https://pypi.python.org/pypi/pip#downloads) pip-9.0.1.tar. ...
- windows下安装python和依赖包的利器——Anaconda
在windows下安装python和很多依赖包,安装起来略为痛苦,可以使用python的大整合包——Anaconda Anaconda下载地址: http://continuum.io/downloa ...
- 详细介绍windows下使用python pylot进行网站压力测试
windows下使用python进行网站压力测试,有两个必不可少的程序需要安装,一个是python,另一个是pylot.python是一个安装软件,用来运行python程序,而pylot则是pytho ...
- windows下创建Python虚拟环境
windows下创建Python虚拟环境 说明 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv ...
- Windows下的Python安装与环境变量的配置
Windows下的Python安装与环境变量的配置 第一步:python下载: Python安装包下载地址:http://www.python.org/ 第二步:python安装: 双击下载包,进入P ...
- Windows下安装Python虚拟环境
Windows下安装Python虚拟环境 虚拟环境安装 需求概要 "虚拟环境"是从电脑独立开辟出来的环境.就好比我们生活中的橱柜中,会把酱油放在一个瓶子里,把醋放在另外一个瓶子里, ...
- Windows下安装python的scipy等科学计算包(转)
如果要使用python进行科学计算.数据分析等,一定要安装scipy.seaborn.numpy等等包. 但Windows下安装python的第三方库经常会出现问题.此前,已介绍过Windows下如何 ...
- windows下搭建python
windows下搭建python 下载python版本 https://www.python.org/ 注意当前操作系统的位数,32位还是64位 同时 安装后 修改环境变量 ...
随机推荐
- 异步编程错误处理 ERROR HANDLING
Chapter 16, "Errors and Exceptions," provides detailed coverage of errors and exception ha ...
- Day1 BFS算法的学习和训练
因为自己的原因,之前没有坚持做算法的相应学习,总是觉得太难就半途而废,真的算是一个遗憾了,所以现在开始,定一个30天入门学习算法计划. 我是根据<算法图解>的顺序进行安排的,自己对 ...
- go---weichart个人对Golang中并发理解
个人觉得goroutine是Go并行设计的核心,goroutine是协程,但比线程占用更少.golang对并发的处理采用了协程的技术.golang的goroutine就是协程的实现. 十几个gorou ...
- adbi命令【转】
本文转载自:https://zmywly8866.github.io/2015/01/24/all-adb-command.html ADB很强大,记住一些ADB命令有助于提高工作效率. 获取序列 ...
- svn问题:在eclipse里面使用SVN,怎么实现版本回滚呢?
共有4个答案 我要回答» JustForFly 回答于 2012-04-27 10:20 举报 想回到SVN服务器端的最新版本就使用 team->还原.. 想回到SVN服务器端的其它版本使用 ...
- SPFA 算法详解( 强大图解,不会都难!) (转)
适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便 派上用场了. 我们约定有向加权图G不存在负权回路,即最短路径 ...
- 【HAOI 2007】 上升序列
[题目链接] 点击打开链接 [算法] 先预处理 : 将序列反转,求最长下降子序列 对于每个询问,根据字典序性质,贪心即可 [代码] #include<bits/stdc++.h> usin ...
- STM32:获取复位源,软件复位
RCC CSR寄存器会存储复位标示,可通过它来知道复位原因,来源: if(RCC_GetFlagStatus(RCC_FLAG_PINRST)) printf("PINRST\r\n&quo ...
- 微型ORM:PetaPoco 学习资料整理
github地址:https://github.com/CollaboratingPlatypus/PetaPoco petapoco 实体中字段去掉关联(类似于EF中的NotMap) 微型ORM:P ...
- bzoj 1853: [Scoi2010]幸运数字&&2393: Cirno的完美算数教室【容斥原理】
翻了一些blog,只有我用状压预处理嘛2333,.把二进制位的0当成6,1当成8就行啦.(2393是2和9 然后\( dfs \)容斥,加上一个数的\( lcm \),减去两个数的\( lcm \), ...