运行Darknet出现Segmentation fault (core dumped)

从师兄那里导来了darknet(包含以前他训练的程序),导入了我的Ubuntu14.04中,我从YOLOV3官网上https://pjreddie.com/darknet/yolo/开始阅读学习,进入darknet文件夹,make编译成功,又按照步骤下载了权重,但是在运行./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg 时出现了Segmentation fault (core dumped)错误。找了很多资料,有说内存不足,也有说指针错误的,但是都是不行。在这里分享下我的解决方案,最后发现是在物体名称的那个文件出了问题,在师兄以前训练物体的名称中加入了dog bike 等就好了,就能显示图片了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在OpenCV中运行Darknet需要遵循以下步骤: 1. 首先,需要下载并安装Darknet。可以从Darknet的官方网站上下载源代码,并按照其指导进行编译和安装。确保在编译Darknet时启用了OpenCV支持,以便在OpenCV中调用Darknet。 2. 安装完成后,在OpenCV代码中添加对Darknet的引用。可以使用以下代码在OpenCV中引用Darknet: ```cpp extern "C" { #include "darknet.h" } ``` 这将使OpenCV能够调用Darknet的函数和结构体。 3. 接下来,需要加载Darknet的预训练模型和配置文件。可以使用以下代码加载模型和配置文件: ```cpp char *cfg_file = "path/to/yolov3.cfg"; char *weights_file = "path/to/yolov3.weights"; char *names_file = "path/to/coco.names"; network *net = load_network(cfg_file, weights_file, 0); set_batch_network(net, 1); list *options = read_data_cfg(cfg_file); char *name_list = option_find_str(options, "names", names_file); char **names = get_labels(name_list); ``` 其中,"cfg_file"是Darknet的配置文件路径,"weights_file"是Darknet的权重文件路径,"names_file"是Darknet的类别名称文件路径。这些文件可以在Darknet的源代码中找到。 4. 加载模型和配置文件后,就可以使用Darknet进行物体检测了。可以使用以下代码在OpenCV中调用Darknet进行物体检测: ```cpp Mat image = imread("path/to/image.jpg"); sized img = make_image(image.cols, image.rows, image.channels()); ipl_into_image(image.data, image.cols, image.rows, image.channels(), img); float *predictions = network_predict(net, img.data); detection *dets = get_network_boxes(net, img.w, img.h, 0.5, 0.5, NULL, 0, NULL); draw_detections(image, dets, l.side*l.side*l.n, 0.5, names, NULL); ``` 这将使用Darknet对一张图像进行物体检测,并在图像上绘制检测结果。 需要注意的是,这只是在OpenCV中运行Darknet的基本步骤,具体实现可能因具体应用场景而异。如果你需要更多帮助,请参考Darknet和OpenCV的文档或社区,或者联系它们的开发者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值