不幸的是,我对 C++ 和 Visual Studio 的处理不是很有经验。我必须实现一个C++应用程序,其中我可以将yolo或darknet集成为一个库并灵活地使用它。我正在使用 Windows 和 Visual Studio 2015。
我看过 following repo . 到目前为止我尝试了什么:
- 我已经安装了 CUDA(虽然我想在 CPU 上运行模型以进行测试)、Cudnn 和 Opencv
- 我使用 Visual Studio 从 AlexeyAb 存储库的
build\darknet\darknet_no_gpu.sln
打开了 vs 解决方案。在 repo 中有很多头文件和 C 文件:
我还将我的
opencv\build\include
路径添加到 Additional Include Directories,opencv\x64\vc14\lib
添加到 Additonal Library Directories 并将opencv_world320.dll
文件添加到链接器Input
字段。我还设置了x64 和Release
现在,我不知道如何进行。只是创建一个 source.cpp
并执行一个 #include "darknet.h"
似乎不起作用。我收到很多错误,例如:darknet_no_gpu.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'。无法找到或打开 PDB 文件。
。在 repo 协议(protocol)中,在几个地方提到您必须构建解决方案,但这到底是什么意思,或者我之后究竟得到什么并用它做什么?
有谁知道如何解决我的问题?我很高兴收到任何建议!
最佳答案
要在 C++ 应用程序中使用 Yolo v3,您可以使用 Alexey AB darknet repo .
只需构建 yolo_cpp_dll.sln
或 yolo_cpp_dll_no_gpu.sln
在build/darknet
文件夹,具体取决于您是否需要 GPU 支持。
存储库中还提供了一个示例控制台应用程序,它已经集成了 yolo dll 及其功能(参见 build/darknet/yolo_console_dll.sln
)。
您可以找到有关如何使这些解决方案起作用以及如何将 darknet 用作 dll 库的更多信息 here .
yolo dll的C++ API可以找到here .
要将 Yolo DLL 添加到 VS 项目中,您必须...
... 将 Build 设置为 Release x64
...在 Release x64 的“配置属性”选项卡中配置以下属性:
在Project->Configuration Properties->C/C++->General->Additional Include Directories下添加头文件(
yolo_v2_class.hpp
)的文件夹路径在Project->Configuration Properties->Linker->General->Additional Library Directories下添加lib文件(
yolo_cpp_dll.lib
)的文件夹路径添加
yolo_cpp_dll.lib
项目->配置属性->链接器->输入->附加依赖项
...放pthreadVC2.dll
和 yolo_cpp_dll.dll
靠近您的 .exe 文件(如果您已经构建了 build/darknet/x64
或 yolo_cpp_dll.sln
,您可以在 yolo_cpp_dll_no_gpu.sln
中找到这些 dll)
感谢@glm_java用于修复我在使用 yolo dll 时的运行时问题!
如果您有更多关于如何构建或编译这些解决方案的问题,请随时问我!
关于c++ - 包括用于对象检测的暗网 Yolov3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61286151/