dlib库编译与使用

dlib使用步骤:

 

  1. dlib下载
  2. cmake下载
  3. 利用cmake编译dlib库为vs工程
  4. 将编译的dlib vs工程编译生成dlib.lib
  5. 新建c++工程,配置,编译exe

一、dlib下载:官网http://dlib.net/下载

二、cmake下载:官网下载,https://cmake.org/download/,安装的时候记得勾选添加环境路径选项,这样命令行可以在任意目录执行cmake命令。

三、编译dlib库:

  1. 将下载的dlib解压,
  2. 解压后是这样,在c盘建一个目录dlib,请随意,dlib-19.8下面的dlib文件夹就是dlib库,下一步是要将此库利用cmake生成vs工程
  3. 利用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社区版

参考资料:

Dlib在VS2015上的编译和配置(人脸检测人脸识别比OpenCV更好用)

 

展开阅读全文

没有更多推荐了,返回首页