m0_74337277 2023-08-02 09:55 采纳率: 40%
浏览 7

yolov5-seg 自带推理脚本,使用dnn推理时报错

yolov5-seg训练完成之后,转成了onnx模型,使用yolov5自带的predict.py脚本进行推理,默认情况下用的是onnxruntime推理,能正常出结果。然后增加了--dnn参数,想用opnecv的dnn进行推理,却出现了如下报错(附图),请问是什么原因导致的呢,我的推理命令是:

python ./segment/predict.py --weight ./runs/train-seg/exp4/weights/best.onnx --source ./datasets/result/images/test --imgsz 1536 --dnn

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-02 12:10
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 以下回答由chatgpt基于相关博客总结生成:

      问题原因是在使用OpenCV的DNN进行推理时,报错"ERROR:src/opencv/modules/dnn/src/dnn.cpp:1645: error: (-2:Unspecified error) COI: Video I/O: No backend available in function 'icvExtractFilePart' ",这个错误通常是由于OpenCV编译时未开启支持Video I/O的选项导致的。解决这个问题需要重新编译OpenCV并开启Video I/O选项,下面是具体的解决步骤:

      步骤一:进入OpenCV源码路径

      cd <opencv_source_path>
      

      步骤二:创建一个新的构建目录

      mkdir build
      cd build
      

      步骤三:执行CMake命令,开启Video I/O选项

      cmake -D CMAKE_BUILD_TYPE=Release \
            -D WITH_FFMPEG=ON \
            -D WITH_CUDA=OFF \
            -D BUILD_TESTS=OFF \
            -D BUILD_PERF_TESTS=OFF \
            ..
      

      注意:根据自己的需求可以添加或删除其他选项,并根据CUDA支持情况决定是否使用WITH_CUDA选项。

      步骤四:编译OpenCV

      make -j8
      

      注意:根据系统的CPU核心数进行调整命令中的-j参数。

      步骤五:安装OpenCV

      sudo make install
      

      完成以上步骤后,重新运行推理脚本,即可使用OpenCV的DNN进行推理。如果问题仍然存在,请确认您的机器上是否安装了ffmpeg库,如果没有安装,请先安装ffmpeg库。

      如果以上步骤仍然不能解决问题,请提供更多错误信息,以便我能更准确地帮助您解决问题。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 8月2日

悬赏问题

  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错