0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

OpenCV学堂 来源:OpenCV学堂 2024-01-26 10:17 次阅读

引子

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

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

cba03884-bb58-11ee-8b88-92fbcf53809c.png

支持一些显示选项,例如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工具所在目录,如下图:

cbd006fe-bb58-11ee-8b88-92fbcf53809c.png

然后运行命令行:

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模式。 成功运行之后显现如下:

cbe11de0-bb58-11ee-8b88-92fbcf53809c.png

cbf3ea42-bb58-11ee-8b88-92fbcf53809c.png

这样就成功了!

03zip打包发布

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

最后特别说明

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

cc027e04-bb58-11ee-8b88-92fbcf53809c.png

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

wKgaomWzFnaAa2gpAAB6oVGRfkk543.jpg

wKgaomWzFoSAdcWZAABy1yBjmCc873.jpg

wKgaomWzFpSALrVaAAB3l0x6bo0215.jpg

审核编辑:汤梓红

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

    关注

    22

    文章

    2104

    浏览量

    73479
  • 模型
    +关注

    关注

    1

    文章

    3158

    浏览量

    48701
  • OpenCV
    +关注

    关注

    29

    文章

    626

    浏览量

    41247
  • Qt5
    Qt5
    +关注

    关注

    0

    文章

    16

    浏览量

    3022

原文标题:QT5+OpenCV+OpenVINO C++ 应用打包发布

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    在Ubuntu上搭建OpenVINO C++程序开发环境

    这种集成开发环境,为了在 Ubuntu 上也能拥有类似 Visual Studio 的开发体验,笔者探索出基于 Anaconda 和 VS Code,搭建 OpenVINO C++ 程序开发环境的方式。
    发表于 08-09 09:42 983次阅读
    在Ubuntu上搭建<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C++</b>程序开发环境

    如何使用OpenVINO C++ API部署FastSAM模型

    象的位置和边界。本文将介绍如何使用 OpenVINO C++ API 部署 FastSAM 模型,以实现快速高效的语义分割。在前文中我们发表了《基于 OpenVINO Python API 部署
    的头像 发表于 11-17 09:53 857次阅读
    如何使用<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C++</b> API部署FastSAM模型

    Qt使用openCV

    ,现在最新的是2.2,不过我用的是2.1。注意下载的时候选择VC专用版的。安装OpenCV2.1,我安装在C:/OpenCV2.1新建Qt的Project在.pro文件中包含
    发表于 11-22 16:12

    OpenCV C++程序编译与演示

    1、在JetsonNano上编译OpenCV源码与OpenCV C++ YOLOv5程序演示  编译OpenCV最新4.5.x版本  Jet
    发表于 11-10 16:42

    opencv_videoio_ffmpeg_64.dll缺失,无法在OpenVINO trade中配置OpenCV怎么处理?

    ] global C:\\jenkins\\workspace\\OpenCV\\OpenVINO\\2021.4\\build\\windows\\opencv\\modules\\
    发表于 08-15 08:24

    无法在OpenVINO trade Docker中运行OpenCV怎么解决?

    /dev/dri:/dev/dri \\ -v /docker-share/public:/public \\ openvino/ubuntu20_dev:latest 使用包含 OpenCV
    发表于 08-15 08:29

    Qt5 C++ GUI Programming Cookbook

    Qt5 C++ GUI Programming Cookbook
    发表于 10-23 16:38 22次下载
    <b class='flag-5'>Qt5</b> <b class='flag-5'>C++</b> GUI Programming Cookbook

    OpenCV2.3的C++速查表免费下载

    本文档的主要内容详细介绍的是OpenCV2.3的C++速查表免费下载。
    发表于 11-06 17:48 4次下载

    Qt5环境下如何配置OpenCV

    本文档的主要内容详细介绍的是Qt5环境下如何配置OpenCV
    发表于 11-22 16:53 17次下载
    <b class='flag-5'>Qt5</b>环境下如何配置<b class='flag-5'>OpenCV</b>

    如何使用Borland C++ Builder6.0来开发OpenCV的程序

    本文档的主要内容详细介绍的是如何使用Borland C++ Builder6.0来开发OpenCV的程序。
    发表于 05-26 17:32 14次下载
    如何使用Borland <b class='flag-5'>C++</b> Builder6.0来开发<b class='flag-5'>OpenCV</b>的程序

    运用JNI连结OpenCV开发C++打包成aar lib的使用教学

    本身是作影像视觉相关的工作,多数时候都使用 Python 作为开发语言,但OpenCV 本身是C++开发,学 C++ 应该有帮助。
    的头像 发表于 08-15 09:24 1513次阅读

    qtC++写的2048小游戏源代码

    qtC++写的2048小游戏源代码
    发表于 09-27 11:48 1次下载

    OpenVINOC# API详解与演示

    OpenVINO C# API 支持 NuGet 程序包安装方式,这与 OpenVINO C++ 库的安装过程相比,更加简单。如果使用 Vi
    的头像 发表于 10-13 16:39 721次阅读
    <b class='flag-5'>OpenVINO</b>™  <b class='flag-5'>C</b># API详解与演示

    QT5+OpenCV4搭建应用开发环境

    作为深度学习算法工程师,必须要掌握应用开发技能吗?搞工程肯定是必须要会界面开发,QT就是一个很不错的选择。本文以QT5.15 + OpenCV4.8 + OpenVINO2023为例,
    的头像 发表于 07-23 11:23 973次阅读
    <b class='flag-5'>QT5+OpenCV</b>4搭建应用开发环境

    OpenVINO2024 C++推理使用技巧

    很多人都使用OpenVINO新版的C++ 或者Python的SDK,都觉得非常好用,OpenVINO2022之后的版本C++ SDK做了大量的优化与整理,已经是非常贴近开发的使用习惯与
    的头像 发表于 07-26 09:20 766次阅读