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接口的更多相关文章

  1. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  2. windows下安装python模块

    如何在windows下安装python模块 1. 官网下载安装包,比如(pip : https://pypi.python.org/pypi/pip#downloads) pip-9.0.1.tar. ...

  3. windows下安装python和依赖包的利器——Anaconda

    在windows下安装python和很多依赖包,安装起来略为痛苦,可以使用python的大整合包——Anaconda Anaconda下载地址: http://continuum.io/downloa ...

  4. 详细介绍windows下使用python pylot进行网站压力测试

    windows下使用python进行网站压力测试,有两个必不可少的程序需要安装,一个是python,另一个是pylot.python是一个安装软件,用来运行python程序,而pylot则是pytho ...

  5. windows下创建Python虚拟环境

    windows下创建Python虚拟环境 说明 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv ...

  6. Windows下的Python安装与环境变量的配置

    Windows下的Python安装与环境变量的配置 第一步:python下载: Python安装包下载地址:http://www.python.org/ 第二步:python安装: 双击下载包,进入P ...

  7. Windows下安装Python虚拟环境

    Windows下安装Python虚拟环境 虚拟环境安装 需求概要 "虚拟环境"是从电脑独立开辟出来的环境.就好比我们生活中的橱柜中,会把酱油放在一个瓶子里,把醋放在另外一个瓶子里, ...

  8. Windows下安装python的scipy等科学计算包(转)

    如果要使用python进行科学计算.数据分析等,一定要安装scipy.seaborn.numpy等等包. 但Windows下安装python的第三方库经常会出现问题.此前,已介绍过Windows下如何 ...

  9. windows下搭建python

    windows下搭建python 下载python版本  https://www.python.org/   注意当前操作系统的位数,32位还是64位 同时   安装后  修改环境变量         ...

随机推荐

  1. C控制台密码输入:输入一个字符显示一个星号

    要在c控制台中输入一个字符显示一个星号, 则不能用"stdio.h'提供的库函数,因为它们都是带回显的,比如getchar() getchar()用来接收输入的字符串,输入一个字符就回显一个 ...

  2. Koa2学习(五)中间件

    Koa2学习(五)中间件 Koa2通过app.use(function)方法来注册中间件. 所有的http请求都会依次调用app.use()方法,所以中间件的使用顺序非常重要. 中间件的执行顺序 官方 ...

  3. ORA-09817

    连接数据库的时候报:ORA-09817:write to audit file,在网上搜索了下,发现时oracle安装目录下面的磁盘空间不够,有不少人给出了解决办法,下面即是一例: 连接oracle  ...

  4. js事件绑定/监听

    事件绑定/监听的方法 1.直接绑定 顾名思义,直接在DOM元素上绑定onclick.onmouseover.onmouseout.onmousedown.onmouseup.ondblclick.on ...

  5. YTU 2430: C语言习题 链表建立,插入,删除,输出

    2430: C语言习题 链表建立,插入,删除,输出 时间限制: 1 Sec  内存限制: 128 MB 提交: 576  解决: 280 题目描述 编写一个函数creatlink,用来建立一个动态链表 ...

  6. Apache POI组件操作Excel,制作报表(三)

    Apache POI组件操作Excel,制作报表(三) 博客分类: 探索实践 ExcelApache算法Office单元测试      上一篇介绍了POI组件操作Excel时如何对单元格和行进行设置, ...

  7. mac下安装eclipse+CDT

    测试文件test.cpp #include <iostream>using namespace std; int main() {    cout << "!!!He ...

  8. Linux网络协议栈(四)——链路层(1)

    1.接收帧当网络适配器接收到数据帧时,就会触发一个中断,中断处理程序执行一些需要及时处理的任务,然后在下半部进行其它可以延迟的处理.中断处理程序主要进行以下一些操作:(1)    分配sk_buff数 ...

  9. AutoMapper封装类

    /// <summary> /// AutoMapper扩展帮助类 /// </summary> public static class AutoMapperHelper { ...

  10. 【182】SeaDAS 相关处理

    load:Command mode procedure for reading data and data attributes into memory and making it available ...