YOLO神经网络不在VS13中编译

时间:2016-07-12 09:11:48

标签: c++ c opencv

我正在尝试在VS13中使用YOLO,但它没有编译。我正在使用this(这给了我this错误),现在我正在尝试this(这不是编译)。如果我使用opencv 2.4.13,错误是

Error   1075    error LNK1104: cannot open file 'opencv_core249.lib'    

(下载此lib没有帮助并导致其他链接器错误)

如果我使用opencv 3.1.0,则会出现此错误

Error   14  error : this declaration may not have extern "C" linkage    C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\limits   78  1   darknet

我发现solution对我不起作用,因为如果我删除

#ifdef OPENCV
#include "opencv2/highgui/highgui_c.h"
#include "opencv2/imgproc/imgproc_c.h"
#endif

从image.h,并将其添加到image.c(通常它已经在image.c中,所以我只是从image.h中删除这一行)错误符合这一行(image.h)

#ifdef OPENCV
void save_image_jpg(image p, char *name);
image get_image_from_stream(CvCapture *cap);
image ipl_to_image(IplImage* src);
#endif

(未定义CvCapture和IplImage)

那么,我怎样才能在Windows中使用YOLO?我应该在frischzenger或AlexeyAB解决方案中解决什么问题?

1 个答案:

答案 0 :(得分:1)

Windows 7/8/10 / Server上有两个版本的Yolo-Darknet:v1(旧)和v2(新)。

  1. Yolo v1:https://github.com/AlexeyAB/yolo-windows - 可以在 MSVS 2013

  2. 上编译
  3. Yolo v2(自2016年11月17日起):https://github.com/AlexeyAB/darknet - 可以在 MSVS 2015 或MSVS 2013(12.0.40629.00 update 5)上编译,但不能在MSVS 2013上编译(12.0.21005.1)

  4. 如何编译您可以在那里阅读的当前版本Yolo v2:https://github.com/AlexeyAB/yolo-windows#how-to-compile

    关于您的问题:

      

    我正在尝试在VS13中使用YOLO https://github.com/AlexeyAB/yolo-windows,但它没有编译。我在用   这(这给了我这个错误),现在我正在尝试这个(不是   编译)。如果我使用opencv 2.4.13,错误是

         

    错误1075错误LNK1104:无法打开文件'opencv_core249.lib'

    1. 在旧的Yolo v1中,要使用OpenCV 2.4.13而不是2.4.9,您应该在文件中更改#pragma comment(lib, "opencv_core249.lib")#pragma comment(lib, "opencv_core2413.lib")这样的行:

      • yolo_demo.c
      • yolo_kernels.cu
    2. 在新的Yolo v2中,要使用OpenCV 2.4.13而不是2.4.9,您应该打开文件:\src\yolo.c并将3行更改为OpenCV版本--249(2.4.9), 2413(适用于2.4.13),......:

      • #pragma comment(lib, "opencv_core249.lib")
      • #pragma comment(lib, "opencv_imgproc249.lib")
      • #pragma comment(lib, "opencv_highgui249.lib")
    3. 使用Yolo v2是首选,因为速度和准确度更高: enter image description here