win10 + Dlib + vs2013編譯配置

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。

如有不當之處請指教,謝謝!

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