當前位置: 妍妍網 > 碼農

QT5+OpenCV+OpenVINO C++ 套用打包釋出

2024-01-25碼農

點選上方 藍字 關註我們

微信公眾號: OpenCV學堂

關註獲取更多電腦視覺與深度學習知識

引子

我用QT C++寫了一個YOLOv5模型推理演示套用,主要包括功能有:

YOLOv5+ OpenCV4.5.4DNN推理演示YOLOv5+OpenVINO2022.1推理演示YOLOv5+ONNXRUNTIME 推理演示

上述三個都CPU版本的推理演示,然後我最終完成GUI演示程式如下圖:

支持一些顯示選項,例如FPS計算顯示,類別顯示設定等。後來我又加上了YOLOX的推理演示,跟Faster-RCNN與Mask-RCNN的ONNXRUNTIME推理演示。

今天有個哥們想要測試程式,於是我就開始了使用QT內建的打包工具windeployqt.exe 開始了一通如猛虎操作,完成了打包!遠端發到他的沒有開發環境電腦,發現可以了,截圖如下:

打包過程

01

拷貝第三方依賴DLL檔

首先把所有依賴的dll檔全部拷貝到計畫編譯生成的release目錄下,我的release目錄是:

D:\Qt\projects\build-yolov5_demo-Desktop_Qt_5_12_12_MSVC2017_64bit-Release\release

這些DLL主要是第三方的庫,具體我的是OpenCV4.5.4相關DLL、OpenVINO支持必須的相關DLL檔,ONNXRUNTIEM相關的DLL檔,一通猛拷貝,就可以啦!

02

windeployqt.exe生成打包

這個時候一定要清楚你的編譯是基於MINGW的編譯器還是VS的編譯器,這點太重要了,以我的為例:在QT的安裝目錄下面有兩個目錄

mingw73_64msvc2017_64

如果工程是MINGW編譯的一定要選擇 第一個目錄下的windeployqt.exe,如果是VS編譯的,比如我是VS2017的,就一定要選擇第二個目錄下的windeployqt.exe 工具來打包,否則打包完以後就無法執行!

確定了windeployqt.exe工具之後,開啟cmd到windeployqt.exe工具所在目錄,如下圖:

然後執行命令列:

windeployqt.exe D:\Qt\projects\build-yolov5_demo-Desktop_Qt_5_12_12_MSVC2017_64bit-Release\release\yolov5_demo.exe –release

這句話的意思是打包成release的,因為我工程構建是基於release的,這點也太重要了,你的工程構建跟釋出打包必須debug-debug 或者release-release,不然肯定無法啟動。

其中--release表示打包為release模式。

成功執行之後顯現如下:

這樣就成功了!

03

zip打包釋出

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

最後特別說明

打包OpenVINO2022的時候除了需要把那些DLL檔全部拷貝過去,一定記得把 plugin.xml 檔( 來自安裝好的OpenVINO2022資料夾下 )也拷貝過去,不然就會一直無法啟動程式!!!

就是上圖紅框的檔,打包之後,我本機執行:

系統化學習直接掃碼檢視

推薦閱讀