最近在研究深度学习算法,接触了caffe,tensorflow,ncnn,dlib几个库,最后一个用的时间还是比较多的,特将详细踩坑过程记录一下。
Dlib库是一个基于C++开发的机器学习算法的工具库,广泛应用在机器人、嵌入式设备、移动手机和高性能计算设备中,以用于解决实际问题。
1、准备工作,去dlib官网下载最新库,安装cmake,安装vs2015以上的vs工具集,因为库需要C++11的支持,如果vs2015是老版本也需要更新一下,只有最新的版本支持的才算好,更新方法可以百度一下。
为了某某懒人我将我所有的安装包和自己的工程文件都已上传网盘,下载后需要更改工程的包含目录,链接目录等看下面步骤可以看懂。
2、解压下载的库文件我是放在G盘

3、下载安装camke,在安装是有个选项是自动添加成系统的环境变量,如果没选的话就百度一下手动添加喽
4、进入正题,使用CMAKE来生成dlib.lib库,运行cmake-gui出现下面窗口,上面是库的源文件目录,下面是自己随便创建的编译目录

5、点击上图中的configure会自动检测你当前系统安装了哪个版本的VS工具,我安装的是vs2015 x64,选完点击完成

6、运行结束后可能会提示CUDA没找到,有一些示例用到,目前我的还没用我就没管,如果想安装也可以cuda_9.1.85_win10.exe比较大有点心理准备呵呵。
7、进入刚才自己创建的编译目录,眼前一亮吧


8、如果文件夹下没有vs2015的工程文件,可直接点击cmake打开工程即可会自动生成

9、在release或debug下生成了dlib_debug_64bit_msvc1900.lib,此文件就是dlib.ilb库文件名字可以自己随便改。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
10、下面开始建立示例工程
使用vs2015 建立C++空的项目,然后添加示例代码里face_detection_ex.cpp文件如:

11、工程-右键-属性添加dlib目录

12、C/C++预处理器添加JPEG的定义

13、链接器将目录指向刚才生成的库文件目录,我当时做的是release版本

14、到此所有配置已完毕直接编译示例即可,已经成功80%是不是很兴奋呀。
15、由于此示例只能在命令行运行所以只能启用dos窗口了,进入示例的可执行文件目录,从网上找了几张照片,单个人的100%成功,测试没有意义了,找了几个集体照的,先看一下原照吧


16、下面我们进入dos窗口进行测试


现在感觉怎么样,黑人朋友也是能检测出来的。。。。。有不明白的给我留言。
网友评论