win10 + Dlib + vs2013編譯配置
阿新 • • 發佈:2019-02-09
1、下載dlib,由於最近的dlib不支援vs2013,所以需要更低版本的dlib庫,這裡選用的是v18.16(下載連結:點選開啟連結),根據自己需要也可以下載其他的版本。下載完v18.16壓縮包後,直接解壓,我這裡是解壓到E:\software目錄下
2、dlib準備好了,下面就是對dlib庫進行編譯,這裡採用的是cmake3.10.3,網路有些部落格提到cmake的版本有可能導致編譯的不完整情形,我在x64的環境下整整搞了一個下去一直鏈接不到庫檔案,但cmake庫檔案沒有報任何錯誤,可能這應該是版本問題吧,具體還是需要大家自己摸索。我這裡講解的是基於vs2013-win32的配置,因為我這裡只在win32下成功配置,x64的沒成功所以就不誤導大家了。cmake首先新增原始碼和編譯生成儲存路徑。
單擊configure,選擇vs版本資訊
單擊finish,等待完成如下
然後單擊Generate
再次Configure,然後再次Generate,最終如下:
3、vs2013編譯
開啟cmake生成的工程如下:
在對工程進行編譯之前需要注意編譯的環境,這裡是Debug win32,如果這裡選擇不對的話,後面生成的lib檔案將不匹配。選擇好編譯環境直接單擊綠色三角形進行編譯。
等待編譯完成後
如果看到上圖中紅色方框的資訊,那麼恭喜你離成功已經很接近了。開啟工程路徑可以看到lib檔案已經生成,如下所示
4、對編譯結果進行測試,建立測試工程,新增程式碼如下:
#include <iostream> #include <vector> #include <fstream> #include <dlib/image_processing/frontal_face_detector.h> #include <dlib/gui_widgets.h> #include <dlib/image_io.h> #include <dlib/image_loader/load_image.h> #include <dlib/image_loader/png_loader.h> #include <dlib/image_loader/load_image_abstract.h> #include <opencv2\opencv.hpp> using namespace std; using namespace dlib; //using namespace cv; void TestFaceDetect(const char *filename) { frontal_face_detector detector = get_frontal_face_detector(); array2d<unsigned char> img; load_image(img, filename); std::vector<rectangle> dets = detector(img); printf("Numbere of face detected:%d\n", dets.size()); } int main() { const char *filename = "1.jpg"; TestFaceDetect(filename); system("pause"); return 0; }
這裡也是copy的程式碼啦,,在編譯前,先新增下依賴項,主要新增如下:
上圖是包含目錄的新增,下面是庫目錄的新增:
然後依次新增以下幾項:
最後就可以直接運行了,執行結果如下:
注意:本文的前提是你已經配置好了opencv。
如有不當之處請指教,謝謝!