dlib庫編譯與使用
阿新 • • 發佈:2019-01-07
dlib使用步驟:
- dlib下載
- cmake下載
- 利用cmake編譯dlib庫為vs工程
- 將編譯的dlib vs工程編譯生成dlib.lib
- 新建c++工程,配置,編譯exe
二、cmake下載:官網下載,https://cmake.org/download/,安裝的時候記得勾選新增環境路徑選項,這樣命令列可以在任意目錄執行cmake命令。
三、編譯dlib庫:
- 將下載的dlib解壓,
- 解壓後是這樣,在c盤建一個目錄dlib,請隨意,dlib-19.8下面的dlib資料夾就是dlib庫,下一步是要將此庫利用cmake生成vs工程
- 利用cmake編譯生成vs工程
在build下建兩個資料夾,x64和x86,分別存放64和32位版本工程檔案
build32位版本,命令列進入C:\dlib\build\x86>,執行:cmake ../../dlib-19.8/dlib
意思就是將當前目錄爺爺目錄下的dlib-19.8/dlib編譯到當前目錄
cmake ../../dlib-19.8/dlib
build64位版本,命令列進入C:\dlib\build\x64>,執行:cmake -G "Visual Studio 14 2015 Win64" -T host=x64 ../../dlib-19.8/dlib
cmake -G "Visual Studio 14 2015 Win64" -T host=x64 ../../dlib-19.8/dlib
幾秒就完成了。
號外
如果是vs2017,請使用如下命令,dlib目錄根據實際情況輸入
cmake -G "Visual Studio 15 2017 Win64" -T host=x64 ../../dlib
四、利用vs將dlib的vs工程編譯,生成dlib.lib
將x86的生成Debug和Release版本dlib.lib,完成後,dlib.lib將在x86/Debug或/Release下出現。
x64同上,不贅述。這樣就有了4個不同版本的dlib.lib
五、新建c++工程,配置,編譯exe:
現在可以寫你自己的程式碼了,新建一個c++空工程,新建source.cpp,程式碼如下,網上找的改了下
#include <dlib/image_processing/frontal_face_detector.h>
#include <dlib/gui_widgets.h>
#include <dlib/image_io.h>
using namespace dlib;
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("Number of faces detected : %d\n", dets.size());
}
int main(int argc, char** argv)
{
const char *filename = "c:\\test.jpg";
TestFaceDetect(filename);
scanf_s("%d");
//return 0;
}
程式碼這裡scanf_s("%d"),防止程式執行一閃而過,讓視窗暫停住。
這程式碼複製進入,一堆一堆的錯誤,接下來配置工程
- 新增dlib原始檔目錄:
- 新增dlib.lib庫檔案:咱不是有4個版本的嗎?這裡新增對應上你的工程,包括32還是64,Debug還是Release
- 新增png和jpeg圖片支援
執行結果:
我的開發環境:win10 64 vs2015社群版
參考資料: