YOLO 神经网络未在 VS13 中编译

Posted

技术标签:

【中文标题】YOLO 神经网络未在 VS13 中编译【英文标题】:YOLO neural network not compiling in VS13 【发布时间】:2016-07-12 09:11:48 【问题描述】:

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

Error   1075    error LNK1104: cannot open file 'opencv_core249.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 解决方案中解决什么问题?

【问题讨论】:

堆栈溢出不是外部工具的支持站点。你有什么理由不问那个图书馆的供应商? @Olaf 这个问题似乎在列出的链接中得到了解决,但它对我不起作用。所以我问我是否做错了什么,也许有人已经面临同样的问题 重复从您的问题中可以看到的内容有些 - 没用。 我使用了github.com/AlexeyAB/darknet,效果很好。小心定义链接中描述的库目录 【参考方案1】:

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

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

    上编译

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

如何编译当前版本的 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'

    在旧的 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

    在新的 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")

最好使用 Yolo v2,因为速度和准确性更高:

【讨论】:

以上是关于YOLO 神经网络未在 VS13 中编译的主要内容,如果未能解决你的问题,请参考以下文章

YOLO-Darknet实战:训练轻量级目标检测网络YOLOv4-Tiny

YOLO-Darknet实战:训练轻量级目标检测网络YOLOv4-Tiny

YOLO-Darknet实战:训练轻量级目标检测网络YOLOv4-Tiny

OpenCV中使用YOLO对象检测

yolo算法是指啥?

Yolo(项目)Yolo v3 目标检测(85分类)