QtGUI+YOLOv4+VS2017 《圖形界面+目標檢測 cpu版本&gpu版本》

一、運行環境

  • win 10
  • vs 2017(若是vs 2019,則需要安裝更高版本的qt,可自行百度安裝配置即可)
  • qt 5.9.x
  • opencv >= 3.0  (optional)
  • cuda >= 10.0(optional)
  • cudnn >= 7.0 for cuda 10(optional)

     黑體爲必要的運行環境。

二、下載安裝Qt 5.9.x

  • 下載地址:Qt 5.9.x。筆者下載的是5.9.6版本(只要是5.9系列均可),點擊“...x86-5.9.6.exe”文件進行下載:

  • 下載完成後雙擊qt安裝包,進入安裝頁面:
qt安裝頁面
step 1 點擊“next”
step 2 “註冊”-->“郵箱驗證”-->“登陸”
step 3 “下一步”
step 4 選擇“安裝路徑”,自定義,選擇空文件夾,點擊“next”
step 5

點擊展開 Qt 5.9.6,勾選如下三項(vs版本不同則勾選版本對應的三項)

tools組件按默認設置,無操作

點擊“下一步”

step 6 接受“協議”,點擊“下一步”
step 7

點擊“下一步”,完成“安裝”

三、VS2017安裝Qt vs tools

  • 打開VS2017,選擇工具 -> 拓展和更新:

  • 選擇聯機->搜索qt->下載qt vs tools:

  • 下載完畢後點擊“關閉”。
  • 重啓vs 2017,會出現如下界面,點擊“修改”,安裝完畢後點擊“關閉”,進入vs:

四、VS2017配置Qt

  • 進入vs 2017,菜單欄點擊“qt vs tools”,選擇“qt options”,點擊“add”添加:

  • 配置系統環境變量:

  • 增加以下路徑(根據自己qt安裝的具體路徑修改):

  • 測試配置是否成功。打開vs 2017,菜單欄選擇“文件”-“新建”-“項目”:

  • 右擊.ui文件,點擊“打開方式”,將qt designer設爲默認值,再雙擊.ui文件就可以打開qt designer:

  • 如果是打開別人的qt項目,由於qt版本可能不一致會導致相關 頭文件 沒有默認導入,可以打開“qt project settings”,點擊“qt modules”,勾選需要的模塊(例如:core、gui、widgets):

五、編譯yolo爲C++ dll文件

     yolov4項目地址:darknetAB

  • 下載項目到本地:

      

 

  • GPU版本: 需已安裝cuda、cudnn。vs打開  darknet-master\build\darknet\yolo_cpp_dll.sln 文件,右擊“項目”->“屬性”->"C\C++"->“預處理器”->"預處理器定義",首行添加“CUDNN"。接着以“x64  release”方式編譯(即菜單欄“生成”->“生成解決方案”):

    

    

  • 若cuda版本不是10.0,則以記事本方式打開  darknet-master\build\darknet\yolo_cpp_dll.vcxproj,組合鍵ctrl+f搜索“cuda 10.0”,將兩處“cuda 10.0”改爲自己的cuda版本,例如“cuda 10.1”,之後重新編譯yolo_cpp_dll.sln。

 

  • CPU版本:  vs打開 darknet-master\build\darknet\yolo_cpp_dll_no_gpu.sln 文件,以“x64  release”方式編譯(即菜單欄“生成”->“生成解決方案”)。

 

  • 編譯完成後,將在 darknet-master\build\darknet\x64 路徑下得到以下文件,同一時間只能選擇”gpu“或者”cpu“版本中的一種編譯使用,因爲編譯生成的文件名字是一樣的:

     

    編譯得到的文件爲備用使用。對於GPU版本,筆者的cuda版本是10.1,若自己的cuda版本不是10.1,那麼需要將生成的dll和lib文件分別替換到  ./3rdparty/libdarknet/bin/release/gpu   和   ./3rdparty/libdarknet/lib   文件夾下。

六、qt編寫圖形界面,並加載動態鏈接庫

        -   3rdparty 存放相關頭文件和庫文件,下載鏈接:3rdparty    提取碼:f1vo    (解壓到Yolov4-QtGUI項目目錄下)

        -   assets 存放測試結果圖片等

        -   config 存放屬性文件

        -   QtGuiDemo 存放主文件。

        -   x64   (將下載的權重文件yolov4.weight放置在 x64\model 目錄下)

       

  • vs打開  Yolov4-QtGUI\QtGuiDemo.sln 文件

 

  • GPU版本:修改屬性文件yolov4.prop,"鏈接器”->"輸入"->"附加依賴項"->yolo_cpp_dll_cpu.lib 。在"release x64"模式下,菜單欄點擊"生成"->"生成解決方案",並將 

       -  3rdparty\libdarknet\bin 路徑下的  pthreadGC2.dll、pthreadVC2.dll  

       -  3rdparty\libdarknet\bin\release\gpu 路徑下的 yolo_cpp_dll.dll

       -  3rdparty\libopencv\bin 路徑下的  opencv_world342.dll  

     複製到Yolov4-QtGUI\x64\release目錄下。

     

   

 

  • CPU版本:修改屬性文件yolov4.prop,"鏈接器”->"輸入"->"附加依賴項"->yolo_cpp_dll_cpu.lib。在"release x64"模式下,菜單欄點擊"生成"->"生成解決方案",並將 

       -  3rdparty\libdarknet\bin 路徑下的  pthreadGC2.dll、pthreadVC2.dll  

       -  3rdparty\libdarknet\bin\release\cpu 路徑下的 yolo_cpp_dll.dll

       -  3rdparty\libopencv\bin 路徑下的  opencv_world342.dll  

     複製到Yolov4-QtGUI\x64\release目錄下。 

     

 

  • 運行項目。雙擊x64\Release目錄下的exe文件。

七、FAQ

八、發行版

  • cpu version:yolov4_cpu   提取碼:l3eh   

        權重文件:yolov4.weight    提取碼:4mic       解壓到./model目錄下

  • gpu version:yolov4_gpu  提取碼:d6lz   

解壓後運行release目錄下的exe文件即可

 

運行結果截圖:

 

參考文章:https://blog.csdn.net/gaojixu/article/details/82185694

                  https://blog.csdn.net/fan2273/article/details/78262952

參考項目:https://github.com/jmu201521121021/FaceDetector-Base-Yolov3-spp

                 https://github.com/jmu201521121021/QtGuiDemo

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章