参考或引用网址:

快速精准的人头检测,代码已开源
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)

制作dlib(面部识别检测)静态库的更多相关文章

  1. dlib编译成静态库及被其它程序调用

    一.git下载:https://github.com/davisking/dlib 官网:http://dlib.net/ 二.vs中编译成静态库 1.在vs2015中创建静态库工程(vs2015以上 ...

  2. IOS开发中制作属于自己的静态库.a、资源库.bundle、.framework

    一.什么是库        库实际上是一种代码共享的方式,主要用于代码重用和源码隐藏,通常分为动态库和静态库. 静态库:链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复 ...

  3. iOS开发中静态库之".framework静态库"的制作及使用篇

    iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...

  4. iOS : 静态库制作

    一.静态库简介 1. 什么是库? 库 就是程序代码的集合, 是共享程序代码的一种方式 2. 库的分类? 开源库 公开源代码, 能看到具体实现 例如MJExtension, MJRefresh, AFN ...

  5. iOS静态库.Framework制作

    首先要解释一下什么是库,库(Library)其实就是一段编译好的二进制代码,加上头文件就可以供别人使用,一般会有两种情况要用到库: 某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式 ...

  6. linux c: 静态库和动态库的生成和使用

    场景: main函数需要两个接口,一个求和函数,一个打印函数. int sum(int i, int j); 求两个int数字的和. void show(int i, char* name); 打印i ...

  7. ObjectARX二次开发创建自己的静态库,如同objectARX库一样

    objectARX二次开发的时候,经常会用到一些重复使用的类,如果类已经足够的好,那么我们可以编译成静态库,加快开发和编译的速度,提高工作效率. 环境vs2010+objectARX2012wizar ...

  8. 制作第三方SDK静态库、.framework

    静态库和动态库的存在形式 静态库: .a 和 .framework 动态库: .dylib 和 .framework 静态库和动态库的使用区别: 静态库:链接时,静态库会被完整地复制 到 可执行文件中 ...

  9. iOS实用技能扩展-静态库的制作与简单使用

    前言:此文是关于静态库的概念描述,如何制作及简单调试使用,不同版本的说明与场景使用. 1.关于库的简介: 库可以分为2种类型 开源库 公开源代码,能看到具体实现 比如SDWebImage.AFNetw ...

随机推荐

  1. 使用DIV弹出框的代码示例,备忘。

    1.思路 使用DIV模拟弹出框,一共用三个div: divWindow: 原来的界面内容区域 divLogin:要弹出的内容区域 divBackground:给弹出内容区域做个遮罩的区域. 点击 “请 ...

  2. Hexo NexT 博客本地搭建指南

    0x01 写在前面的话 第一次见到这个这个Hexo主题,是在查找lucene学习指南时看到了阿里中间件博客,文章写的自然不错,但博客程序主题更是令我喜欢不已. 于是我便萌生了也想撸一个的冲动. 既然想 ...

  3. Android查询不到电话号码解决方法

    貌似联系人有三个数据库,且不同步,另外也有可能是版本问题. 解决方案:https://github.com/codinguser/android_contact_picker 接下来会对其进行一些改造 ...

  4. STM32云平台连接培训20180814

    MQTT基于TCP,发布订阅模式,一对多,多对一,TCP需要client主动建立connect,server发送connectack CoAP基于UDP,请求/应答模式,数据量也相对HTTP要小 HT ...

  5. Swing中支持自动换行的WrapLayout

    http://www.cnblogs.com/TLightSky/p/3482454.html ———————————————————————————————————————————————————— ...

  6. 第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置

    第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置 主题设置是在xadmin\plugins\themes.py这个文件 默认xadmin是通过下面这 ...

  7. Angular4学习笔记(六)- Input和Output

    概述 Angular中的输入输出是通过注解@Input和@Output来标识,它位于组件控制器的属性上方. 输入输出针对的对象是父子组件. 演示 Input 新建项目connInComponents: ...

  8. [Laravel] 13 - WEB API : update & error tracking

    前言 一.大纲 Ref: https://www.imooc.com/video/3134 版本升级分析以及数据表设计 版本升级分析 掌握如何设计版本升级数据表 版本升级接口开发以及APP演示 二.数 ...

  9. 大杂烩 -- Iterator 并发修改异常ConcurrentModificationException

    基础大杂烩 -- 目录 大杂烩 -- Java中Iterator的fast-fail分析 大杂烩 -- Iterator 和 Iterable 区别和联系 问题: 在集合中,判断里面有没有" ...

  10. 单元测试以文件流的形势传参调用api进行测试

    [TestMethod] public void Test() { byte[] buffer;//文件转换为二进制流 string path = @"E:\aaa"; Encod ...