• 制作dlib(面部识别检测)静态库


    参考或引用网址:

    快速精准的人头检测,代码已开源
    http://url.cn/5e3qQPN

    http://www.jianshu.com/p/701e8dea887e

    官网文档

    GitHub地址

    1.下载安装X11

    地址:X11  (https://www.xquartz.org/)

    介绍:https://support.apple.com/en-us/HT201341

    2.通过brew安装cmake

    brew install cmake

    3.创建xcode静态库生成项目操作

    a.将项目dlib clone 到本地。项目地址https://github.com/davisking/dlib.git

    b.在终端里面打开刚才clone下来的项目里面的examples目录

    c.终端执行mkdir build

    d.终端执行cd build

    e.终端执行cmake -G Xcode ..

    f.终端执行cmake --build . --config Release 这一步等的时间比较长(这一串命令最终会产生一个dlib_build目录,里面就是编译这个库的xcode项目,在这个项目里面可以根据你的需要设置这个SDK支持的架构和支持的平台)

    4.生成.a静态库

    a.设置为iOS系统下的框架编译,并设置支持的框架的参数等

    b.合并生成的.a文件

    cd /Users/username/Documents/fatherpath/dlib/dlib-master/examples/build/dlib_build

    lipo -create Debug-iphoneos/libdlib.a Debug-iphonesimulator/libdlib.a -output all_debug/libdlib.a

    lipo -info all_debug/libdlib.a

    结果:

    Architectures in the fat file: all_debug/libdlib.a are: armv7 i386 x86_64 arm64 

    5.将静态库添加到我们的项目里面

    a.将刚才生产的.a和dlib的库文件拖到同一个文件夹方便管理,并将这个文件夹加入我们的项目目录(实际文件目录不能通过拖拽直接加入Xcode目录)

    b.然后将libdlib.a拖到项目中,特别注意不要把库文件dlib目录下的文件拖进去。在文件中引用一下库文件。

    #include <dlib/image_processing.h>
    #include <dlib/image_io.h>

    c.然后将设置文件夹dlib文件夹设置为系统库头文件搜索目录($(PROJECT_DIR)/你的项目名字/刚才创建的包含.a文件和dlib文件夹的父文件夹)

    d.添加需要的framework,非常重要 coremedia 和 accelerate

    e.然后添加Custom Compiler Flags中的Other C Flags。下面这些flag定义了在预处理阶段对libdlib.a的某些特性的宏

    • -DDLIB_JPEG_SUPPORT
    • -DDLIB_NO_GUI_SUPPORT
    • -DNDEBUG
    • -DDLIB_USE_BLAS
    • -DDLIB_USE_LAPACK

    f.添加预处理宏Preprocessor Macros(这里的前面不需要写-)

    • DLIB_JPEG_SUPPORT
    • DLIB_NO_GUI_SUPPORT
    • NDEBUG
    • DDLIB_USE_BLAS
    • DLIB_USE_LAPACK

    g.记得引用的文件需要后缀改成.mm编译通过

    下载训练模型地址:

    http://dlib.net/files/

    使用这个类库参考:

    https://segmentfault.com/q/1010000008927158/a-1020000008931146

    http://blog.csdn.net/lengshengren/article/details/52388255

    68点位置参考:(来源:http://blog.csdn.net/zmdsjtu/article/details/53454071)

  • 相关阅读:
    IDEA中用jetty启动项目时,url 404
    Mysql 性能查询
    RabbitMQ 安装
    Ubuntu安装kubernetes
    .net 4 调用WCF时报错 Type 'System.Threading.Tasks.Task`1[]' cannot be serialized
    Windows XP SP2上安装.net 4
    angular学习的一些Mark
    [转]对 td 使用 overflow:hidden; 无效的几点错误认识
    静态方法与非静态方法的区别
    二进制字符串的权限管理
  • 原文地址:https://www.cnblogs.com/yuxiaoyiyou/p/7002229.html
Copyright © 2020-2023  润新知