本过程使用的是https://github.com/AlexeyAB/darknet里的文件,先把这个GitHub里的文件下载好,这个github里的readme也都是满满的干货,但是有些细节都没有说,不太适合新手,所以我这篇文章主要是说darknet.exe怎么生成吧,先把图片跑起来
想生成darknet.exe文件,首先要用visual studio打开E:\detect\darknet-master\build\darknet\darknet.sln
但是……我没有gpu版的一直没成功,我先弄一下无GPU版的,这个比较好成功,等有空再磕GPU版的……
如果没有gpu想用cpu的,就点击编译darknet_no_gpu.sln这个文件,步骤相同,最终目的都是生成一个exe文件
首先修改文件darknet_no_gpu.vcxproj把OPENCV改成自己的路径
然后用VS2015打开darknet_no_gpu.sln之后选择Release x64,然后点击开始调试

错误 C2589"(":"::"右边的非法标记 C2059 语法错误:"::"
解决方法
设置项目属性,在预定义处理器中添加定义NOMINMAX来禁止使用Visual C++的min/max宏定义。
在项目中右键点击属性 ——> C/C++ ——> 预处理器 ——> 预处理器定义 (此处添加预定义编译开关 NOMINMAX)
然后就成功了!谢天谢地!
现在发现在E:\detect\darknet-master\build\darknet\x64中已经有了一个darknet_no_gpu.exe,把这个重命名为darknet.exe,下载yolov3.weights在E:\detect\darknet-master\build\darknet\x6中,不知道在哪下的看下面这句话--->
这步还有后面步骤可以具体参考博客https://blog.youkuaiyun.com/baidu_36669549/article/details/79798587,他有提供yolov3.weights的百度网盘哦,当然也可以在官网下载,AlexeyAB的readme里也有写,当然直接下上面博主的比较方便先跑起来再说!
最后,双击x64文件夹里的darknet_yolo_v3.cmd,就可以跑那个自带的例子,如果想跑自己的例子,需要修改darknet_yolo_v3.cmd文件里的内容,并把想测试的图片放到x64文件夹下,成功显示如下
关于视频文件的测试,找一个微信小视频,拷贝到D:\darknet-master\darknet-master\build\darknet\x64中重命名为test.mp4
总结一下windows下配置好的YOLOv3的调用指令
测试图片文件的
darknet.exe detector test data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 dog.jpg
测试视频文件的
darknet.exe detector demo data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 test.mp4
也可以把darknet.exe加入至环境变量的,相应的命令变成:
图片版:
darknet detector test data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 dog.jpg
视频版:
darknet detector demo data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 test.mp4
相应步骤参考https://blog.youkuaiyun.com/baidu_36669549/article/details/79798587,非常感谢凌空的桨,错误部分还有修改路径部分前面那个博主没有说,所以我又补充了一下,没有把gpu版本编译好有点遗憾,下面会继续尝试编译GPU版本以及尝试训练自己的图片,如果研究好了会写出来,因为大部分博主感觉写的还是不全,我一个萌新研究了好久才懂一点究竟应该怎么做……继续加油!励志帮助到同样迷茫的人们