不幸的是,我对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解决方案。在仓库内有很多头文件和C文件:

  • c++ - 包括用于对象检测的Darknet Yolov3-LMLPHP
  • 我还将opencv\build\include路径添加到了其他包含目录,将opencv\x64\vc14\lib添加到了附加库目录,并将opencv_world320.dll文件添加到了链接器Input字段。
  • 我还设置了 x64 发行

  • 现在,我不知道如何进行。仅创建source.cpp并执行#include "darknet.h"似乎不起作用。我收到很多错误,例如:darknet_no_gpu.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'. Cannot find or open the PDB file.。在回购中,提到了必须构建解决方案的多个位置,但是这究竟是什么意思,或者我后来得到的确切信息是什么?

    有人知道我能解决我的问题吗?我真的很高兴有任何建议!

    最佳答案

    要在C++应用程序中使用Yolo v3,可以使用Alexey AB darknet repo
    只需在yolo_cpp_dll.sln文件夹中构建yolo_cpp_dll_no_gpu.slnbuild/darknet,具体取决于您是否需要GPU支持。
    存储库中还提供了一个示例控制台应用程序,该应用程序已经集成了yolo dll及其功能(请参阅build/darknet/yolo_console_dll.sln)。
    您可以找到有关如何使这些解决方案正常工作以及如何将darknet用作dll库here的更多信息。
    可以在here中找到yolo dll的C++ API。

    要将Yolo DLL添加到VS项目中,您必须...

    ...将Build设置为发行x64
    ...在版本x64 的“配置属性”选项卡中配置以下属性:

  • 项目->配置属性-> C / C++->常规->其他包含目录
  • 下添加头文件(yolo_v2_class.hpp)的文件夹的路径
  • 项目->配置属性->链接器->常规->其他库目录
  • 下添加lib文件(yolo_cpp_dll.lib)的文件夹的路径
  • 项目->配置属性->链接器->输入->其他依赖项
  • 下添加yolo_cpp_dll.lib
    ...将pthreadVC2.dllyolo_cpp_dll.dll放在您的.exe文件附近(如果您已经构建了build/darknet/x64yolo_cpp_dll.sln,则可以在yolo_cpp_dll_no_gpu.sln中找到那些dll)

    感谢@glm_java在使用yolo dll时解决了我的运行时问题!

    如果您还有其他有关如何构建或编译这些解决方案的问题,请随时问我!

    关于c++ - 包括用于对象检测的Darknet Yolov3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61286151/

    10-12 20:45