基于QT5+OpenCV+OpenVINO C++的应用打包过程

描述

引子

我用QT C++写了一个YOLOv5模型推理演示应用,主要包括功能有:

 

YOLOv5+ OpenCV4.5.4 DNN推理演示
YOLOv5+OpenVINO2022.1推理演示
YOLOv5+ONNXRUNTIME 推理演示
上述三个都CPU版本的推理演示,然后我最终完成GUI演示程序如下图:

 

OpenCV

支持一些显示选项,例如FPS计算显示,类别显示设置等。后来我又加上了YOLOX的推理演示,跟Faster-RCNN与Mask-RCNN的ONNXRUNTIME推理演示。  

今天有个哥们想要测试程序,于是我就开始了使用QT自带的打包工具windeployqt.exe 开始了一通如猛虎操作,完成了打包!远程发到他的没有开发环境电脑,发现可以了。

打包过程

01拷贝第三方依赖DLL文件

首先把所有依赖的dll文件全部拷贝到项目编译生成的release目录下,我的release目录是:

 

D:Qtprojectsuild-yolov5_demo-Desktop_Qt_5_12_12_MSVC2017_64bit-Releaserelease
这些DLL主要是第三方的库,具体我的是OpenCV4.5.4相关DLL、OpenVINO支持必须的相关DLL文件,ONNXRUNTIEM相关的DLL文件,一通猛拷贝,就可以啦!

 

02windeployqt.exe生成打包

这个时候一定要清楚你的编译是基于MINGW的编译器还是VS的编译器,这点太重要了,以我的为例:在QT的安装目录下面有两个目录

 

mingw73_64
msvc2017_64
如果工程是MINGW编译的一定要选择 第一个目录下的windeployqt.exe,如果是VS编译的,比如我是VS2017的,就一定要选择第二个目录下的windeployqt.exe 工具来打包,否则打包完以后就无法运行!

 

确定了windeployqt.exe工具之后,打开cmd到windeployqt.exe工具所在目录,如下图:

OpenCV

然后运行命令行:

 

windeployqt.exe D:Qtprojectsuild-yolov5_demo-Desktop_Qt_5_12_12_MSVC2017_64bit-Release
eleaseyolov5_demo.exe –release

 

这句话的意思是打包成release的,因为我工程构建是基于release的,这点也太重要了,你的工程构建跟发布打包必须debug-debug 或者release-release,不然肯定无法启动。   其中--release表示打包为release模式。 成功运行之后显现如下:

OpenCV

OpenCV

这样就成功了!

03zip打包发布

删去release目录下所有的cpp文件跟编译生成的中间文件,然后选择全部文件zip打包就好啦,这样就完成了打包。

最后特别说明

打包OpenVINO2022的时候除了需要把那些DLL文件全部拷贝过去,一定记得把plugin.xml文件(来自安装好的OpenVINO2022文件夹下)也拷贝过去,不然就会一直无法启动程序!!!

OpenCV

就是上图红框的文件,打包之后,我本机运行:

OpenCV

OpenCV

OpenCV

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分