本文地址:https://blog.csdn.net/zaibeijixing/article/details/80594963
本文地址:https://blog.csdn.net/zaibeijixing/article/details/80594963
Win7x64 + vs2017 + dlib-19.13 + cmake-gui
以前用cmake-cmd方式編譯19.7版本,但這次失敗了,不再細究,故而用gui方式。(同時編譯了19.7,過程一模一樣,生成的”.lib”文件名不一樣而已,調用方法一模一樣。)
下載不再贅述,略過。歷史版本地址https://sourceforge.net/projects/dclib/files/dlib/
【1】cmake-gui。在“dlib”的同級目錄新建“build_s”文件夾,以保存編譯生成。主要步驟如圖:
【2】編譯。對生成的“dlib.sln”建議先右鍵點擊“管理員取得所有權”再VS打開。選擇Debug(Release),再選擇【dlib】右鍵“重新生成”,完畢,即編譯完成。(19.7生成的文件名都是“dlib.lib”)
【3】調用配置VS。只需配置“包含目錄”和“附加依賴項”兩個即可。
【4】代碼示例:
#include<dlib/image_processing/frontal_face_detector.h>
#include<dlib/image_processing/render_face_detections.h>
#include<dlib/gui_widgets.h>
#include<dlib/image_io.h>
#include<iostream>
#include<vector>
using namespace dlib;
using namespace std;
int main(/*int argc, char **argv*/)
{
try
{
frontal_face_detector detector = get_frontal_face_detector();
image_window win; //一個顯示窗口
array2d<unsigned char> img;
//cout << "processing image" << argv[1] << endl;
load_image(img,"E:/mypic/face001.jpg"); //加載一張圖片 load_image(img, argv[1]);
//pyramid_up(img);//對圖像進行上採樣,檢測更小的人臉
//開始檢測,返回一系列的邊界框
std::vector<rectangle> dets = detector(img); //detector()函數檢測人臉,返回一系列邊界盒子
cout << "Number of faces detected:" << dets.size() << endl;//re
//在原圖上顯示結果
win.clear_overlay();
win.set_image(img);
win.add_overlay(dets, rgb_pixel(255, 0, 0));
cout << "Hit enter to process the next image..." << endl;
cin.get();
}
catch (const std::exception& e)
{
cout << "\nexception thrown!" << endl;
cout << e.what() << endl;
}
getchar();
}
【注】解決錯誤的步驟沒記錄,如果運行錯誤,請網上搜索。
可以轉載分享,但需在文章開頭註明本文原始鏈接:https://blog.csdn.net/zaibeijixing/article/details/80594963