vs2017 dlib19.3 opencv3.41 C++ 環境配置 人臉特征點識別


身為一個.net程序員經過兩天的采坑終於把人臉特征檢測的項目跑通了,然后本文將以dlib項目中人臉特征檢測工程為例,講解dlib與opencv 在vs2017 C++ 項目中的編譯與運行路徑配置。

1、項目建立

  首先建立一個C++控制台項目,然后根據自己的開發平台選擇編譯環境我是win10 64位系統所以我選擇x64。

建立控制台項目

編譯環境選擇X64

2、Opecv 3.4.1安裝配置

  Opencv最新版下載地址:https://opencv.org/

下載最新版本3.4.1

1、配置Opencv系統環境路徑:系統屬性→高級系統設置→環境變量→系統變量→Path編輯→新建添加Opencv環境路徑  (你的安裝目錄)\opencv\build\x64\vc15\bin\

進入環境變量配置

增加環境變量路徑

2、回到我們一開始建立的C++項目開始配置Opencv引用路徑(C#里直接引用個dll的事情在C++都得靠靜態指向過去我也挺醉的 ,又更好的方法請告訴我畢竟我是C++小白。。。),vs編譯器視圖→其它窗口→屬性管理器 ,在自己編譯器環境下增加新項目屬性表。

增加opencv的屬性表

3、雙擊進入屬性頁VC++目錄→包含目錄and庫目錄中加入以下路徑:

1 包含目錄:(你的安裝目錄)\opencv\build\include\opencv  (你的安裝目錄)\opencv\build\include\opencv2  (你的安裝目錄)\opencv\build\include
2 
3 庫目錄:(你的安裝目錄)\opencv\build\x64\vc15\lib

 

加入opencv庫目錄

4、鏈接器→輸入→附加依賴項 加入opencv的靜態鏈接庫名字opencv_world341d.lib (不同版本的名字不一樣自己看好再填)opencv\build\x64\vc15\lib 目錄下查看

加入opencv靜態鏈接庫名字

5、驗證opencv是否配置完畢在新建的項目中加入 #include <opencv2/opencv.hpp>  查看是否可以引用。

3、Dlib安裝配置

1、下載最新版本Dlib http://dlib.net/  ,下載Cmake (一款跨平台的編譯工具)https://cmake.org/

2、編譯Dlib 選擇dlib源目錄與編譯后的存放目錄,選擇好之后點擊Generate開始編譯。

 

3、同Opencv一樣加入Dlib的新項目屬性表,雙擊進入屬性頁。VC++目錄→包含目錄、引用目錄、庫目錄添加Dlib根目錄

\dlib-19.9\

  鏈接器→輸入→附加依賴項 添加dlib_debug_64bit_msvc1911.lib 同 opencv一樣請自行查看編譯后目錄正確的lib名字 目錄為你編譯好的目錄Debug目錄下    

  C/C++ → 附加包含目錄中加入

D:\Git\Dlibx64\Debug 

  

 

4、項目右鍵加入現有項Dlib中的 source.cpp  ,Dlib到此配置完畢。

\dlib\all

4、人臉特征點識別

Dlib里包含各種demo,以下是人臉特征點識別的demo 需要配合樣本庫才能運行樣本庫下載地址為http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2 ,下載后放到項目目錄下即可。

D:\Git\dlib-19.9\examples\webcam_face_pose_ex.cpp

5、遇到的各種編譯問題

1、stdafx.h編譯頭問題 解決方法如下:

1、右鍵除stdafx.cpp以外其他cpp 屬性頁中C/C++ 下預編譯頭 選擇不使用預編譯頭
2、右stdafx.cpp  屬性頁中C/C++ 下預編譯頭 創建預編譯頭

2、各種惡心的重定義問題,項目右鍵屬性→C/C++→預處理器→預處理器定義添加 WIN32_LEAN_AND_MEAN  我看這個大部分Dlib教程都沒有寫 估計都是各種C++大觸寫個C++中小觸看的 我等.net菜雞不懂啊!!!那么多報錯嚇死多少人。

3、找不到靜態鏈接庫文件,重新檢查我上面提到的幾個路徑。

 

PS:爆下自己的丑照最終效果代碼我去別的地方爬的官方代碼太慢。。。


免責聲明!

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



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