基于Windows平台利用CMake对dlib人脸识别库源码的编译及测试

1.源文件编译 

    在Windows7 64bit平台下,利用CMake-3.11.2版本对dlib ver.19.12源码进行编译。首先要将源码下载下来,会发现文件的路径如下所示:


    在第二个dlib-19.12文件夹下,打开CMD,首先在该文件夹中建立一个build文件夹,这是为了将所有的生成文件放置在这个文件夹下,使用如下命令建立文件夹:


    建立完成文件夹后,定位到新建立的文件夹目录中:


    对于64位计算机,输入如下命令:


    此时将会进行源码的编译,在编译完成后,要生成适合于release版本下的lib文件,输入如下的命令:


    等待程序将会运行一段时间,最后运行成功后的结果如下所示:


    最后build文件夹中的内容如下所示:


最后在release中,生成Lib文件,生成成功:


生成Debug模式下的lib文件:


结果如下所示:


文件夹显示如下图所示:


    在成功的生成库文件后,进行库文件的调用。

    可以通过在VS2015中进行库文件的编译,编译出的库文件为.lib形式,方便调用,选择文件ALL_BUILD,对文件进行编译,如下图所示:



    成功编译后的结果如下图所示:

2.库文件调用

    利用VS2015建立工程,对生成的dlib.lib进行测试。

    (1)新建工程

    

    (2)配置包含目录

    将下载下来的源码解压到自己电脑中,本文路径为C盘根目录:


    在属性管理器中设置包含目录:



    (3)设置预处理器定义

    通过添加预处理器从而可以对JPG以及PNG图片进行支持。


    (4)设置库目录


    (5)在解决方案资源管理器,源文件文件夹增加源文件,源文件的位置为dlib\all\source.cpp



    (6)关闭SDL检查

    为了克服检测缓冲区的溢出所导致的某些函数的编译失败,因此关闭SDL检查。


(7)添加资源文件

将dlib\external\libjpeg,dlib\external\libpng,dlib\external\zlib三个文件夹下的所有文件添加到资源文件中。


    (8)在添加完成后,进行程序的编译,此时99%程序是有问题的,问题描述如下:


    解决办法如下:


人脸检测结果如下所示:


人脸关键点检测结果如下所示:


猜你喜欢

转载自blog.csdn.net/qq_34258054/article/details/80426706