Darknet/yolo-VS2017+OPENCV 編譯環境配置


准備工作:

OPENCV 3.4.10 https://opencv.org/releases/

VS2017 https://visualstudio.microsoft.com/zh-hans/

安裝VS2017要選擇

 

CUDA  https://developer.nvidia.com/cuda-downloads

自行查詢顯卡對應版本  本文使用cuda10.1

 

要能在Visual Studio中使用上述安裝的OpenCV,需要如下兩個步驟:

  1. 配置相關的環境變量

  2. 建立工程要配置相關的屬性

1. 配置相關的環境變量

用戶變量系統變量中的Path變量都添加進opencv安裝目錄的build中的bin文件夾路徑

D:\opencv\opencv\build\x64\vc15\bin

build文件夾只有"x64"文件夾(似乎是只支持64位系統,所以沒有“x86”文件夾),加上我是64位系統,所以選擇了“x64”。而至於為什么選擇“vc15”下的"bin"文件夾,那是根據所使用的VS版本決定的。

Visual Studio 版本 OpenCV對應文件夾
VS2008 vc9
VS2010 vc10
VS2012 vc11
VS2013 vc12
VS2014 vc13
VS2015 vc14
VS2017 vc15

OpenCV3.4.2的"x64"只有"vc14"和"vc15",這意味着它只支持VS2015和VS2017。

2. 建立工程要配置相關的屬性

  1. 新建c++空文件

  2. 進入視圖->項目管理器

  3. debug x64模式,然后博客上有三種情況

    • 在project右鍵屬性
    • 在debug上右鍵屬性
    • 在debug->Microsoft.cpp.x64.user右鍵屬性

    我選擇第二種,配置完第4步后,發現以上三種操作效果一樣。

  4. 包含目錄,添加以下路徑
    在庫目錄下,添加以下路徑

  5. 添加依賴項,選擇“鏈接器”中的“輸入”, “附加依賴項”

在上述庫目錄(即\build\x64\vc15\lib)中,可以找到對應的.lib。
如果是在debug模式下,添加opencv_world341d.lib;
若是release模式,則選opencv_world341.lib。它們的文件名相差一個"d",帶"d"的表示debug。
不可兩個都添加,否則會出現一定的錯誤,也不可在debug下配置非debug的lib,在release下配置debug的lib,一定要對應使用。若要在release模式下使用,就要再對應地進行配置。

3. 打開圖片

報錯:無法打開文件“opencv_world340d.dll
重啟電腦,新建項目,發現上面添加的路徑和依賴都不見了。
重新添加路徑和依賴,成功運行程序。

重新打開運行,沒問題。

4. YOLOV4

1.打開darknet.sln

平台工具集選擇“無升級

打開后,顯示錯誤 : 項目“D:\...\darknet-master\build\darknet\darknet.vcxproj”配置“Release|x64”的 Designtime 生成失敗

將項目改為release x64,同時點擊項目,然后重定向解決方案,一定要選擇無升級,這樣就可以把編譯平台停在vs2015。沒有報錯。

2、 修改配置

  • 常規 – 平台工具集:vs2015(v140)

  • VC++目錄 – 包含目錄:
    …\opencv\build\include
    …\opencv\build\include\opencv
    …\opencv\build\include\opencv2

    VC++目錄 – 庫目錄:
    …\opencv\build\x64\vc14\lib

  • 添加目錄…\opencv\build\x64\vc14\lib下庫的名字

  • 這里的目錄自己生成了錯誤的目錄,幸好發現才改了回來

3、 "CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions"下的文件直接拷貝到“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations”文件夾中。

4、 將…\opencv\build\x64\vc14\bin下的opencv_world330.dll 和opencv_ffmpeg330_64.dll 復制到 \darknet\darknet-master\build\darknet\x64 目錄下

5、 右鍵工程項目,點擊重新生成,生成成功
6、 下載yolo_v4 weights: 把它放到darknet\build\darknet\x64下

7、 在darknet\build\darknet\x64下按住shift鍵,點擊鼠標右鍵選擇“在此處打開Powershell 窗口(s)。

在命令行輸入 .\darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg

 

 

 

參考https://www.cnblogs.com/Fsxq/p/11074947.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM