本文由@星沉阁冰不语出品,转载请注明作者和出处。
文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/52821497
微博:http://weibo.com/xingchenbing
之前关于人脸关键点标记和颜值预测的两篇博客不知道有没有都看过,在这两篇博客中都用到了一个库——Dlib,而且都是用的Python调用的接口。其实我C++用的更熟练一些,之所以在之前一用到Dlib就转到Python,是因为我当年感觉Visual studio配置dlib太复杂了。打开个JPG或者PNG图片就得把整整三个文件夹的内容(包括上百个文件)添加到项目里。简直不能忍。就是下面这三个。大部分的教程都是这么说的。官网也有提到这这种方法。
dlib\external\libjpeg
dlib\external\libpng
dlib\external\zlib
不知道大家是怎么认为的,反正我觉得这样很反人类。当年我的习惯是遇到问题问度娘,然后看一些中文的解决方案。现在的习惯慢慢变成了去官网,看官方文档。今天按照官方文档重新配置了一下。感觉利索多了。而且用cmake的命令行简直比GUI爽太多了。
有兴趣的可以直接去官网看官方的教程:How to compile。我这里记录一下我自己的配置过程。大致跟官方介绍一样。
1.首先还是要有cmake,而且要添加到环境变量。然后在dlib-版本号文件夹下打开命令提示符(shift加右键),用下面的命令,相对于官方的略有改动:
mkdir build
cd build
cmake -G "Visual Studio 14 2015 Win64" ..
cmake --build . --config Release
(1)一定要vs 2015或者更高的版本,据说之前的版本对于C++11的支持不够好。
(2)build的时候一定要是Release模式。因为Debug模式超级!超级!慢!亲测。参考:Why is dlib slow?
build完成之后会在***\dlib-19.2\build\dlib\Release文件夹下生成dlib.lib。至此编译完成。比用cmake-gui简单多了!
2.配置visual studio 2015,新建一个项目,我这里命名为dlib_01。
(1)打开项目属性,配置包含目录,直接上图:
(2)配置连接器——输入——附加依赖项:
(3)为了打开jpg图片还要加上DLIB_JPEG_SUPPORT,后面那个是为了加速。
上面三项配置之后就完成了,就可以自己写程序或者运行dlib自带的examples程序了。但是官方自带的程序都是命令行运行的,如果要在vs中运行需要稍作修改,把命令行参数修改为具体的文件名或者路径。试了一个人脸检测的例子。效果还行。