引子
我用QT C++寫(xiě)了一個(gè)YOLOv5模型推理演示應(yīng)用,主要包括功能有:
YOLOv5+ OpenCV4.5.4 DNN推理演示 YOLOv5+OpenVINO2022.1推理演示 YOLOv5+ONNXRUNTIME 推理演示上述三個(gè)都CPU版本的推理演示,然后我最終完成GUI演示程序如下圖:
支持一些顯示選項(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工具所在目錄,如下圖:
然后運(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)如下:
這樣就成功了!
03zip打包發(fā)布
刪去release目錄下所有的cpp文件跟編譯生成的中間文件,然后選擇全部文件zip打包就好啦,這樣就完成了打包。
最后特別說(shuō)明:
打包OpenVINO2022的時(shí)候除了需要把那些DLL文件全部拷貝過(guò)去,一定記得把plugin.xml文件(來(lái)自安裝好的OpenVINO2022文件夾下)也拷貝過(guò)去,不然就會(huì)一直無(wú)法啟動(dòng)程序?。?!
就是上圖紅框的文件,打包之后,我本機(jī)運(yùn)行:
審核編輯:湯梓紅
-
C++
+關(guān)注
關(guān)注
22文章
2113瀏覽量
73738 -
模型
+關(guān)注
關(guān)注
1文章
3277瀏覽量
48957 -
OpenCV
+關(guān)注
關(guān)注
31文章
635瀏覽量
41413 -
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)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論