不知道你这个问题是否已经解决, 如果还没有解决的话:
- 以下回答由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源码路径
步骤二:创建一个新的构建目录
步骤三:执行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
注意:根据系统的CPU核心数进行调整命令中的-j参数。
步骤五:安装OpenCV
完成以上步骤后,重新运行推理脚本,即可使用OpenCV的DNN进行推理。如果问题仍然存在,请确认您的机器上是否安装了ffmpeg库,如果没有安装,请先安装ffmpeg库。
如果以上步骤仍然不能解决问题,请提供更多错误信息,以便我能更准确地帮助您解决问题。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^