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

猜你喜欢

转载自blog.csdn.net/u014117943/article/details/112674670