darknet detect cfg/yolov3.cfg yolov3.weights data/obj/1.jpg训练图片时候报Not compiled with OpenCV, saving to predictions.png instead

darknet detect cfg/yolov3.cfg yolov3.weights data/obj/1.jpg训练图片时候报Not compiled with OpenCV, saving to predictions.png instead

上午好☀️☀️☀️️
本答案参考通义千问
你遇到的错误信息是:
Not compiled with OpenCV, saving to predictions.png instead
这个提示说明 Darknet 没有使用 OpenCV 编译,因此在尝试保存图像时无法直接使用 OpenCV 的函数(如 cv2.imwrite()),而是转而使用默认的图像保存方式,比如保存为 predictions.png。
Darknet 编译时没有启用 OpenCV 支持
缺少 OpenCV 库依赖
图像保存路径或格式不正确
检查 Darknet 的 Makefile 文件中的配置项:
OPENCV=1
# 开头)或者设置为 0,请将其改为:OPENCV=1
注意: 确保你的系统已经安装了 OpenCV。如果没有安装,请参考第 2 步。
根据你的操作系统选择以下命令之一进行安装:
sudo apt-get install libopencv-dev
sudo yum install opencv-devel
brew install opencv
执行以下命令重新编译:
make clean
make
确保编译成功,无报错。
再次运行你的检测命令:
./darknet detect cfg/yolov3.cfg yolov3.weights data/obj/1.jpg
如果一切正常,应该会看到检测结果,并且图像会被正确保存为 predictions.png,并且可以使用 OpenCV 进行处理。
如果你希望自定义图像保存路径或格式,可以在 src/detection.c 或 src/utils.c 中查找图像保存相关的代码段,例如:
save_image(im, "predictions");
你可以将 predictions.png 改为你想要的文件名,例如:
save_image(im, "output_result.png");
| 步骤 | 内容 |
|------|------|
| 1 | 确认 Makefile 中 OPENCV=1 |
| 2 | 安装 OpenCV 依赖库 |
| 3 | 重新编译 Darknet |
| 4 | 运行检测命令验证输出 |
| 5 | 如需自定义图像保存路径,修改源码 |
darknet),建议使用官方推荐的编译方式。如有更多关于模型训练、推理、性能优化等问题,欢迎继续提问!