- 环境准备:Win10 +vs2015 +cuda10.0 +opencv4.1.0
安装cuda这块博客比较多,不赘述。
这里说一下,一般博客都说支持opencv 3.4.0以下的。
但是博主在源码里看到,写了支持opencv4.x。试了一下,是可以的。应该是作者更新了版本。
- 程序代码准备
下载地址:AlexeyAB/darknet
下载源码,解压打开build文件夹。里面有编译好的sln文件。。双击打开darknet.sln。
如果没有报错的话,恭喜!可以调到第三步了。
while,如果压根没加载出solution的话,
弹出一句:未能加载解决方案中的一个或多个项目.....
虽然,没加载出来,但是控制台下面会告诉,在某个路径是缺东西的。
缺的啥呢,CUDA10.0.props和CUDA10.0.targets
这俩文件在哪呢?
需要重新打开CUDA的安装文件,提示解压到一个文件路径。
C:UsersXXXAppDataLocalTempCUDA
点击解压。
将以上文件拷贝到提示目录BuildCustomizations文件夹下
将CudaProjectVsWizards文件夹下所有文件,
拷贝到“Common7IDEExtensions”和“Common7IDECommonExtension”下
至此,关闭重新加载解决方案就正常了。
- 配置属性+编译
配置属性这一块和配置OPENCV是类似的,
注意一下:先要编译yolo_cpp_dll这个,生成yolo_cpp_dll.lib。这个就是yolo的动态链接库。
VC++目录->包含目录
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0cudnn765include
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0include
C:UsersyangkDocumentsopencv410opencv-4.1.0buildinstallincludeopencv2
C:UsersyangkDocumentsopencv410opencv-4.1.0buildinstallinclude
VC++目录->库目录
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0cudnn765libx64
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0libx64
C:UsersyangkDocumentsopencv410opencv-4.1.0buildinstallx64vc14lib
CUDA C++
编译yolo_cpp_dll之后在buildx64目录下生成lib文件。
然后,继续编译yolo_console_cpp在buildx64目录下生成exe文件
- 在控制台程序中调用
cmd进入到exe所在文件夹。命令行调用
yolo_console_dll.exe data/coco.names yolov3.cfg yolov3.weights dog.jpg
这里yolov3.weights权重文件需要自己下载,coco和cfg文件都有。
reference:
https://blog.csdn.net/a429367172/article/details/95476435
https://github.com/AlexeyAB/darknet#how-to-use-yolo-as-dll-and-so-libraries
https://blog.csdn.net/qq_38737790/article/details/92797119