0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于QT5+OpenCV+OpenVINO C++的應(yīng)用打包過(guò)程

OpenCV學(xué)堂 ? 來(lái)源:OpenCV學(xué)堂 ? 2024-01-26 10:17 ? 次閱讀

引子

我用QT C++寫(xiě)了一個(gè)YOLOv5模型推理演示應(yīng)用,主要包括功能有:

YOLOv5+ OpenCV4.5.4 DNN推理演示
YOLOv5+OpenVINO2022.1推理演示
YOLOv5+ONNXRUNTIME 推理演示
上述三個(gè)都CPU版本的推理演示,然后我最終完成GUI演示程序如下圖:

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

支持一些顯示選項(xiàng),例如FPS計(jì)算顯示,類別顯示設(shè)置等。后來(lái)我又加上了YOLOX的推理演示,跟Faster-RCNN與Mask-RCNN的ONNXRUNTIME推理演示。

今天有個(gè)哥們想要測(cè)試程序,于是我就開(kāi)始了使用QT自帶的打包工具windeployqt.exe 開(kāi)始了一通如猛虎操作,完成了打包!遠(yuǎn)程發(fā)到他的沒(méi)有開(kāi)發(fā)環(huán)境電腦,發(fā)現(xiàn)可以了。

打包過(guò)程

01拷貝第三方依賴DLL文件

首先把所有依賴的dll文件全部拷貝到項(xiàng)目編譯生成的release目錄下,我的release目錄是:

D:Qtprojectsuild-yolov5_demo-Desktop_Qt_5_12_12_MSVC2017_64bit-Releaserelease
這些DLL主要是第三方的庫(kù),具體我的是OpenCV4.5.4相關(guān)DLL、OpenVINO支持必須的相關(guān)DLL文件,ONNXRUNTIEM相關(guān)的DLL文件,一通猛拷貝,就可以啦!

02windeployqt.exe生成打包

這個(gè)時(shí)候一定要清楚你的編譯是基于MINGW的編譯器還是VS的編譯器,這點(diǎn)太重要了,以我的為例:在QT的安裝目錄下面有兩個(gè)目錄

mingw73_64
msvc2017_64
如果工程是MINGW編譯的一定要選擇 第一個(gè)目錄下的windeployqt.exe,如果是VS編譯的,比如我是VS2017的,就一定要選擇第二個(gè)目錄下的windeployqt.exe 工具來(lái)打包,否則打包完以后就無(wú)法運(yùn)行!

確定了windeployqt.exe工具之后,打開(kāi)cmd到windeployqt.exe工具所在目錄,如下圖:

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

然后運(yùn)行命令行:

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

這句話的意思是打包成release的,因?yàn)槲夜こ虡?gòu)建是基于release的,這點(diǎn)也太重要了,你的工程構(gòu)建跟發(fā)布打包必須debug-debug 或者release-release,不然肯定無(wú)法啟動(dòng)。 其中--release表示打包為release模式。 成功運(yùn)行之后顯現(xiàn)如下:

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

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

這樣就成功了!

03zip打包發(fā)布

刪去release目錄下所有的cpp文件跟編譯生成的中間文件,然后選擇全部文件zip打包就好啦,這樣就完成了打包。

最后特別說(shuō)明

打包OpenVINO2022的時(shí)候除了需要把那些DLL文件全部拷貝過(guò)去,一定記得把plugin.xml文件(來(lái)自安裝好的OpenVINO2022文件夾下)也拷貝過(guò)去,不然就會(huì)一直無(wú)法啟動(dòng)程序?。?!

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

就是上圖紅框的文件,打包之后,我本機(jī)運(yùn)行:

wKgaomWzFnaAa2gpAAB6oVGRfkk543.jpg

wKgaomWzFoSAdcWZAABy1yBjmCc873.jpg

wKgaomWzFpSALrVaAAB3l0x6bo0215.jpg

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2113

    瀏覽量

    73738
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3277

    瀏覽量

    48957
  • OpenCV
    +關(guān)注

    關(guān)注

    31

    文章

    635

    瀏覽量

    41413
  • Qt5
    Qt5
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    3042

原文標(biāo)題:QT5+OpenCV+OpenVINO C++ 應(yīng)用打包發(fā)布

文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    在Ubuntu上搭建OpenVINO C++程序開(kāi)發(fā)環(huán)境

    這種集成開(kāi)發(fā)環(huán)境,為了在 Ubuntu 上也能擁有類似 Visual Studio 的開(kāi)發(fā)體驗(yàn),筆者探索出基于 Anaconda 和 VS Code,搭建 OpenVINO C++ 程序開(kāi)發(fā)環(huán)境的方式。
    發(fā)表于 08-09 09:42 ?1063次閱讀
    在Ubuntu上搭建<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C++</b>程序開(kāi)發(fā)環(huán)境

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

    象的位置和邊界。本文將介紹如何使用 OpenVINO C++ API 部署 FastSAM 模型,以實(shí)現(xiàn)快速高效的語(yǔ)義分割。在前文中我們發(fā)表了《基于 OpenVINO Python API 部署
    的頭像 發(fā)表于 11-17 09:53 ?952次閱讀
    如何使用<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C++</b> API部署FastSAM模型

    Qt使用openCV庫(kù)

    ,現(xiàn)在最新的是2.2,不過(guò)我用的是2.1。注意下載的時(shí)候選擇VC專用版的。安裝OpenCV2.1,我安裝在C:/OpenCV2.1新建Qt的Project在.pro文件中包含
    發(fā)表于 11-22 16:12

    OpenCV C++程序編譯與演示

    1、在JetsonNano上編譯OpenCV源碼與OpenCV C++ YOLOv5程序演示  編譯OpenCV最新4.5.x版本  Jet
    發(fā)表于 11-10 16:42

    opencv_videoio_ffmpeg_64.dll缺失,無(wú)法在OpenVINO trade中配置OpenCV怎么處理?

    ] global C:\\jenkins\\workspace\\OpenCV\\OpenVINO\\2021.4\\build\\windows\\opencv\\modules\\
    發(fā)表于 08-15 08:24

    無(wú)法在OpenVINO trade Docker中運(yùn)行OpenCV怎么解決?

    /dev/dri:/dev/dri \\ -v /docker-share/public:/public \\ openvino/ubuntu20_dev:latest 使用包含 OpenCV
    發(fā)表于 08-15 08:29

    Qt5 C++ GUI Programming Cookbook

    Qt5 C++ GUI Programming Cookbook
    發(fā)表于 10-23 16:38 ?22次下載
    <b class='flag-5'>Qt5</b> <b class='flag-5'>C++</b> GUI Programming Cookbook

    OpenCV2.3的C++速查表免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是OpenCV2.3的C++速查表免費(fèi)下載。
    發(fā)表于 11-06 17:48 ?4次下載

    Qt5環(huán)境下如何配置OpenCV

    本文檔的主要內(nèi)容詳細(xì)介紹的是Qt5環(huán)境下如何配置OpenCV
    發(fā)表于 11-22 16:53 ?17次下載
    <b class='flag-5'>Qt5</b>環(huán)境下如何配置<b class='flag-5'>OpenCV</b>

    如何使用Borland C++ Builder6.0來(lái)開(kāi)發(fā)OpenCV的程序

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用Borland C++ Builder6.0來(lái)開(kāi)發(fā)OpenCV的程序。
    發(fā)表于 05-26 17:32 ?14次下載
    如何使用Borland <b class='flag-5'>C++</b> Builder6.0來(lái)開(kāi)發(fā)<b class='flag-5'>OpenCV</b>的程序

    運(yùn)用JNI連結(jié)OpenCV開(kāi)發(fā)C++打包成aar lib的使用教學(xué)

    本身是作影像視覺(jué)相關(guān)的工作,多數(shù)時(shí)候都使用 Python 作為開(kāi)發(fā)語(yǔ)言,但OpenCV 本身是C++開(kāi)發(fā),學(xué) C++ 應(yīng)該有幫助。
    的頭像 發(fā)表于 08-15 09:24 ?1648次閱讀

    qtC++寫(xiě)的2048小游戲源代碼

    qtC++寫(xiě)的2048小游戲源代碼
    發(fā)表于 09-27 11:48 ?1次下載

    OpenVINO? C# API詳解與演示

    OpenVINO C# API 支持 NuGet 程序包安裝方式,這與 OpenVINO C++ 庫(kù)的安裝過(guò)程相比,更加簡(jiǎn)單。如果使用 Vi
    的頭像 發(fā)表于 10-13 16:39 ?801次閱讀
    <b class='flag-5'>OpenVINO</b>?  <b class='flag-5'>C</b># API詳解與演示

    QT5+OpenCV4搭建應(yīng)用開(kāi)發(fā)環(huán)境

    作為深度學(xué)習(xí)算法工程師,必須要掌握應(yīng)用開(kāi)發(fā)技能嗎?搞工程肯定是必須要會(huì)界面開(kāi)發(fā),QT就是一個(gè)很不錯(cuò)的選擇。本文以QT5.15 + OpenCV4.8 + OpenVINO2023為例,
    的頭像 發(fā)表于 07-23 11:23 ?1126次閱讀
    <b class='flag-5'>QT5+OpenCV</b>4搭建應(yīng)用開(kāi)發(fā)環(huán)境

    OpenVINO2024 C++推理使用技巧

    很多人都使用OpenVINO新版的C++ 或者Python的SDK,都覺(jué)得非常好用,OpenVINO2022之后的版本C++ SDK做了大量的優(yōu)化與整理,已經(jīng)是非常貼近開(kāi)發(fā)的使用習(xí)慣與
    的頭像 發(fā)表于 07-26 09:20 ?1008次閱讀