OpenCV4.4.0 With OpenVINO打包发布的异常问题记录

0.开发环境:

QT5.9
加入了openvino的opencv4.4.0

项目在QT中开发完成后,打包发布(使用windeployqt加载qt相关的依赖),在其他电脑上运行时出现问题,主要是缺少动态链接库。

问题1. 缺少ngraph.dll、tbb.dll

在这里插入图片描述
在这里插入图片描述
解决办法:

C:\Program Files (x86)\IntelSWTools\openvino_2020.4.287\deployment_tools\ngraph\lib

C:\Program Files (x86)\IntelSWTools\openvino_2020.4.287\deployment_tools\inference_engine\external\tbb\bin
下复制对应文件到程序运行目录下

问题2.缺少引擎dll动态链接库文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解决办法:
C:\Program Files (x86)\IntelSWTools\openvino_2020.4.287\inference_engine\bin\intel64\Release下复制相应动态链接库文件到程序运行目录下

问题3.缺少其他文件

在这里插入图片描述
解决办法:
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler下复制相应动态链接库文件到程序运行目录下

问题4.无法定位输入点

无法定位输入点nanf于动态链接库 ngraph.dll上
在这里插入图片描述
原因:缺少动态链接库
解决办法:
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler目录下复制文件libmmd.dll到程序运行目录下。

问题5.Error loading XML file: …\plugins.xml:

OpenCV: terminate handler is called! The last OpenCV error is:
OpenCV(4.4.0) Error: Unspecified error (Failed to initialize Inference Engine backend (device = CPU): Error loading XML file: D:\hahahha\plugins.xml:1:0: File was not found) in cv::dnn::InfEngineNgraphNet::initPlugin, file C:\Users\lenovo\Desktop\opencv440\modules\dnn\src\ie_ngraph.cpp, line 692

解决办法:
C:\Program Files (x86)\IntelSWTools\openvino_2020.4.287\deployment_tools\inference_engine\bin\intel64\Release目录下复制文件plugins.xml到程序运行目录下。

问题6.无法加载MKLDNNPlugin.dll

OpenCV: terminate handler is called! The last OpenCV error is:
OpenCV(4.4.0) Error: Unspecified error (> Failed to initialize Inference Engine backend (device = CPU): Failed to create plugin MKLDNNPlugin.dll for device CPU
> Please, check your environment
> Cannot load library 'MKLDNNPlugin.dll': 126 from cwd: D:\hahahha
> ) in cv::dnn::InfEngineNgraphNet::initPlugin, file C:\Users\lenovo\Desktop\opencv440\modules\dnn\src\ie_ngraph.cpp, line 692

解决办法:
C:\Program Files (x86)\IntelSWTools\openvino_2020.4.287\deployment_tools\inference_engine\bin\intel64\Release目录下复制文件MKLDNNPlugin.dll到程序运行目录下。

问题7.无法加载MKLDNNPlugin.dll

OpenCV: terminate handler is called! The last OpenCV error is:
OpenCV(4.4.0) Error: Unspecified error (> Failed to initialize Inference Engine backend (device = CPU): Failed to create plugin D:\hahahha\MKLDNNPlugin.dll for device CPU
> Please, check your environment
> Cannot load library 'D:\hahahha\MKLDNNPlugin.dll': 126 from cwd: D:\hahahha
> ) in cv::dnn::InfEngineNgraphNet::initPlugin, file C:\Users\lenovo\Desktop\opencv440\modules\dnn\src\ie_ngraph.cpp, line 692

注意,问题7和问题6提示的错误信息不同,问题7中提示的错误中有路径信息。

解决办法:
C:\Program Files (x86)\IntelSWTools\openvino_2020.4.287\deployment_tools\inference_engine\bin\intel64\Release目录下复制文件inference_engine_lp_transformations.dll到程序运行目录下。

其他问题

如果在IDE环境下一切正常,打包发布后,无法正常运行。
原因很可能是缺失
C:\Program Files (x86)\IntelSWTools\openvino_2020.4.287\deployment_tools\inference_engine\bin\intel64\Release
目录下的dll文件,或者是
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler下的dll文件。其实可以全都复制,haha

参考了:https://blog.csdn.net/weixin_39956356/article/details/107518878

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
OpenCV DNN(深度神经网络)是OpenCV库中的一个模块,用于实现深度学习模型的推理功能。它支持多种深度学习框架,如Caffe、TensorFlow和Torch,可以加载训练好的模型并进行图像分类、目标检测、人脸识别等任务。OpenCV DNN提供了简单易用的API接口,使得开发者可以方便地集成深度学习模型到他们的应用中。 OpenVINOOpen Visual Inference & Neural Network Optimization)是Intel开发的一种开源工具套件,旨在加速深度学习模型的推理过程。它可以将训练好的模型转换成一个可优化执行的格式,并通过硬件加速技术(如英特尔的CPU、GPU、VPU等)提高推理性能。OpenVINO支持多种深度学习框架,如TensorFlow、Caffe和ONNX等,并提供了简洁的API接口,使得开发者可以轻松地在各种硬件设备上部署高性能的深度学习应用。 ONNXRuntime是一个开源的深度学习推理引擎,由微软开发。它支持ONNX(Open Neural Network Exchange)格式,可以加载和执行经过训练的ONNX模型。ONNXRuntime针对不同的硬件设备(如CPU、GPU、边缘设备)进行了优化,提供了高性能的推理能力。同时,它还支持多种编程语言,如C++、Python和C#,并提供了易用的API接口,使得开发者可以方便地集成ONNX模型到他们的应用中。 综上所述,OpenCV DNN、OpenVINO和ONNXRuntime都是用于深度学习推理的工具。OpenCV DNN提供了简单易用的API接口,OpenVINO通过硬件加速技术优化模型推理,而ONNXRuntime支持ONNX模型并进行了硬件和语言的优化。这些工具都能帮助开发者快速部署和优化深度学习模型,提高推理性能。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值