制作dlib(面部识别检测)静态库
参考或引用网址:
快速精准的人头检测,代码已开源
http://url.cn/5e3qQPN
http://www.jianshu.com/p/701e8dea887e
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(面部识别检测)静态库的更多相关文章
- dlib编译成静态库及被其它程序调用
一.git下载:https://github.com/davisking/dlib 官网:http://dlib.net/ 二.vs中编译成静态库 1.在vs2015中创建静态库工程(vs2015以上 ...
- IOS开发中制作属于自己的静态库.a、资源库.bundle、.framework
一.什么是库 库实际上是一种代码共享的方式,主要用于代码重用和源码隐藏,通常分为动态库和静态库. 静态库:链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复 ...
- iOS开发中静态库之".framework静态库"的制作及使用篇
iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...
- iOS : 静态库制作
一.静态库简介 1. 什么是库? 库 就是程序代码的集合, 是共享程序代码的一种方式 2. 库的分类? 开源库 公开源代码, 能看到具体实现 例如MJExtension, MJRefresh, AFN ...
- iOS静态库.Framework制作
首先要解释一下什么是库,库(Library)其实就是一段编译好的二进制代码,加上头文件就可以供别人使用,一般会有两种情况要用到库: 某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式 ...
- linux c: 静态库和动态库的生成和使用
场景: main函数需要两个接口,一个求和函数,一个打印函数. int sum(int i, int j); 求两个int数字的和. void show(int i, char* name); 打印i ...
- ObjectARX二次开发创建自己的静态库,如同objectARX库一样
objectARX二次开发的时候,经常会用到一些重复使用的类,如果类已经足够的好,那么我们可以编译成静态库,加快开发和编译的速度,提高工作效率. 环境vs2010+objectARX2012wizar ...
- 制作第三方SDK静态库、.framework
静态库和动态库的存在形式 静态库: .a 和 .framework 动态库: .dylib 和 .framework 静态库和动态库的使用区别: 静态库:链接时,静态库会被完整地复制 到 可执行文件中 ...
- iOS实用技能扩展-静态库的制作与简单使用
前言:此文是关于静态库的概念描述,如何制作及简单调试使用,不同版本的说明与场景使用. 1.关于库的简介: 库可以分为2种类型 开源库 公开源代码,能看到具体实现 比如SDWebImage.AFNetw ...
随机推荐
- openssl - 怎么打开POD格式的帮助文件
原文链接: http://zhidao.baidu.com/link?url=47I6A0YGA9FnK6galKZ5sxPSZzFGRdng2qhACb4ToBuhuyMhdrwcYpZmNI28y ...
- 6.翻译系列:EF 6 Code-First中数据库初始化策略(EF 6 Code-First系列)
原文链接:http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-firs ...
- Chrome Debugger 温故而知新:上下文环境
最早是在IOS开发中看到过这种调试方式.在无意间发现Chrome Debugger也可以.直接上图: 解释:默认的控制台想访问变量.都是只能访问全局的.但当我们用debugger; 断点进入到内部时, ...
- C# 给枚举类型增加一个备注特性
/// <summary> /// 备注特性 /// </summary> public class RemarkAttribute : Attribute { /// < ...
- mac mini纯键盘操作连接蓝牙鼠标
许久不开家里的MAC MINI了,今天开来玩玩,结果进个桌面连接鼠标就费了好大的劲 现实情况: 1. 没有有线鼠标,只有一个USB键盘,一个微软3600蓝牙鼠标 MAC MINI连接上USB键盘,开机 ...
- 物联网架构成长之路(20)-申请免费SSL证书
0.前言 今天域名备案申请下来了,接下来就是申请个SSL证书,现在普通的网站没有SSL都不好意思见人了.可是稍微好点的企业级SSL证书还是比较贵的.不过还好有免费的可以用.只不过要定时去续时间.这个不 ...
- C++复数运算 重载
近期整理下很久前写的程序,这里就把它放在博文中了,有些比较简单,但是很有学习价值. 下面就是自己很久前实现的复数重载代码,这里没有考虑特殊情况,像除法中,分母不为零情况. #include <i ...
- 【XMPP】XMPP协议之原理篇
XMPP协议简介 XMPP协议(Extensible Messaging and Presence Protocol,可扩展消息处理现场协议)是一种基于XML的协议. 目的是为了解决及时通信标准而提出 ...
- Java知多少(2)虚拟机(JVM)以及跨平台原理
相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的. 那么,跨平台是怎样实现的呢?这就 ...
- Nginx配置详细
######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...