VS2017+DLib_19.17詳細配置教程


  最近學校布置了一個關於圖像融合的作業,於是想利用Learn OpenCV 網站上的Face Morph 教程來設計一個人臉融合的Gif圖,但是程序中需要用到DLib庫,光是配置這個庫就花費了我半天的時間,網絡上的教程太多了,有一些並不一定適用。

  我嘗試了很多種辦法,出現過各種各樣的bug,走了許多彎路(比如說加上DLib庫之后OpenCV的imread函數讀不到圖像數據,網絡上說的解決方法是檢查附加依賴項是否release使用了帶d的lib,而debug使用了不帶d的lib,但是我檢查之后發現並沒有錯,所以最后一直沒解決這個問題,又重新上網找其他配置方法),直到最后我選擇了 DLib官網 提供的安裝方法(全是英文,翻譯了好久),才成功了。果然官方給的方法才是最實用的。

官方提供的安裝方法

一、安裝CMake

  官網提供的方法是使用CMake生成庫,首先我們的電腦上需要安裝CMake,前往 CMake官網下載地址 下載,我使用的版本是3.14.2,選擇msi格式的安裝包(之所以選擇msi格式是因為msi可以方便地添加環境變量到系統),根據自己電腦的處理器選擇x64還是x86的安裝包,我的電腦是x64處理器,所以我選擇了紅框框出來的安裝包。

下載CMake安裝包

  安裝包下載完成之后,雙擊文件運行,點擊next
運行界面

  勾選agreement,點擊next

協議

  選擇“Add CMake to the system PATH for all user”和“Create CMake Desktop Icon”,點擊next
系統變量設置

  選擇生成的路徑,點擊next
路徑選擇

  點擊“Install”
安裝

  安裝完成
安裝完成

  之后檢查一下系統的環境變量中是否有添加CMake的bin路徑。

  右鍵點擊桌面上“我的電腦” --> 彈出界面左欄中的“高級系統設置”

系統屬性

  --> 選擇“環境變量” --> 點擊“系統變量”組框下的“Path”,點擊“編輯”按鈕

系統變量

  --> 彈出的窗口中檢查是否有CMake/bin一欄,沒有的話,點擊“編輯”按鈕自己手動添加

編輯系統變量

二、下載DLib

  安裝完CMake之后,前往 DLib官網files 下載DLib庫,選擇 dlib-19.17.zip ,下載到本地(我選擇的是D盤),下載完成后解壓,得到一個文件夾,文件夾中有如下文件

DLib下的文件

三、使用cmd命令讓CMake編譯Dlib庫

  使用WIN+R組合鍵調出“運行”界面,輸入“cmd”調出命令行窗口

運行

  在命令行窗口,首先輸入D:轉到D盤下的目錄(博主的DLib解壓到了D盤),(tip:此時輸入dir命令可以顯示目錄下的全部文件名,文件名輸入一部分時可以按下“Tab”鍵可以自動補全),然后輸入cd DLib跳轉到DLib文件夾,繼續輸入cd dlib-19.17跳轉到庫目錄下(還有一種方法是直接在庫目錄下使用shift+鼠標右鍵直接開啟該目錄下的命令行窗口,博主沒有用過,你們可以試一下)

定位到目錄

  來到該目錄下之后,就可以使用官方的方法編譯DLib庫啦

  這里解釋一下,第一行cd examples 是跳轉到DLib庫下的examples文件夾,該文件夾下有一個名為“CMakeLists.txt”的文件,里面有DLib的配置方案,反正按官方說的做就對了;第二行mkdir build 是生成一個名為build的文件夾,到時候CMake編譯時生成的文件都會放在這里面,包括生成的庫。第三行cd build 跳轉到build文件夾下。當使用第四行命令cmake .. 就是CMake的編譯命令,運行到這里時,若出現不是內部的命令,則需要把安裝的Cmake的bin目錄添加到環境變量PATH里,具體方法上面有。cmake .. 這兩個點表示上一級文件夾,也就是examps文件夾,意思應該是讓CMake去尋找“CMakeLists.txt”的文件。此安裝默認生成32位的可執行文件,要想生成64位的,需要將cmake.. 命令替換為 cmake -G "Visual Studio 15 2017 Win64" -T host=x64 ..(最后兩個點不要漏了)。第五行cmake --build . --config Release ,--build 是開始編譯命令,. 一個點表示當前目錄,即生成文件存放在當前目錄下,--config Release 這里需要注意啦,如果寫Release 最終將生成Release庫,所以說如果你想生成一個Debug庫的話,就需要改成--config Debug
(博主已經生成過Release庫,所以這次演示生成Debug庫,生成目錄名為buildDebug)

  輸入cmake -G "Visual Studio 15 2017 Win64" -T host=x64 ..
make0

  執行完成
make1

  輸入cmake --build . --config Debug
make2

  執行的時間比較漫長,建議先去喝杯茶干點別的事,中間會出現一些warning沒有關系,無視就行
出現一些warning

  Cmake執行結束
執行完成

  此時“D:\DLib\dlib-19.17\examples\buildDebug\dlib_build\Debug“” 文件夾下就會有編譯好的庫存在(注意:是dlib_build下的Debug文件夾)
庫的位置

  將生成的庫拷貝,放置到D:\DLib\Library\Debug\下,方便查找和添加

配置VS2017環境

  打開VS2017,新建一個工程,選擇工程的“屬性管理器”(如果沒有這一欄,可以點擊“視圖”-->“其他窗口”-->“屬性管理器”)
屬性管理器

  (我這里已經把OpenCV的屬性表加進去了)右鍵點擊“Debug | x64”,在彈出的菜單下選擇“添加新項目屬性表”,彈出的窗口中將屬性表命名為“DLib_x64_debug”,修改保持位置為“D:\DLib\Library\Debug\”(以后新建DLib的工程只要Add這個屬性表就行了)
命名屬性表

  然后右鍵點擊DLib_x64_debug屬性表,在彈出的菜單中選擇“屬性”
右鍵點擊

  首先在“VC++目錄”下編輯包含目錄,添加“D:\DLib\dlib-19.17”,點擊“確定”
包含目錄

  在庫目錄下添加“D:\DLib\Library\Debug”,即dlib19.17.0_debug_64bit_msvc1916.lib所在的目錄,點擊“確定”
庫目錄

  然后在“鏈接器”-->“輸入”的“附加依賴項”中添加“dlib19.17.0_debug_64bit_msvc1916.lib”,點擊“確定”

  最后在“C/C++”-->“預編譯器”中的“預處理器定義”中添加
DLIB_SUPPORT_JEPG
DLIB_SUPPORT_PNG
(注意:這里如果不添加這兩個預編譯指令的話,dlib::load_image函數就無法讀取 .jpg .png格式的圖像,程序會崩潰)

  到此,環境已經配置完成。

  這是我第一次寫博客,費了挺多時間的,有什么錯誤或者漏缺還請多多指教。O(∩_∩)O哈哈~
  過幾天我還會寫一個使用OpenCV和DLib編寫FaceWorph人臉融合程序的教程,敬請期待哦!

  參考文章
  https://blog.csdn.net/qq583083658/article/details/79917066


免責聲明!

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



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