iOS人脸识别(检测)

原创 2015年06月01日 14:35:09

    iOS的CoreImage已经内建了人脸检测的接口,检测准确率一般,尤其是侧脸,基本上就检测不到。不过跟其他同类产品比较,也还算是不相上下吧。用起来很简单:

    CIImage* image = [CIImage imageWithCGImage:aImage.CGImage];
    
    NSDictionary  *opts = [NSDictionary dictionaryWithObject:CIDetectorAccuracyHigh
                                                      forKey:CIDetectorAccuracy];
    CIDetector* detector = [CIDetector detectorOfType:CIDetectorTypeFace
                                              context:nil
                                              options:opts];
    
    //得到面部数据
    NSArray* features = [detector featuresInImage:image];

最后的features中就是检测到的全部脸部数据,可以用如下方式计算位置:

    for (CIFaceFeature *f in features)
    {
        CGRect aRect = f.bounds;       
         NSLog(@"%f, %f, %f, %f", aRect.origin.x, aRect.origin.y, aRect.size.width, aRect.size.height);

         //眼睛和嘴的位置
         if(f.hasLeftEyePosition) NSLog(@"Left eye %g %g\n", f.leftEyePosition.x, f.leftEyePosition.y);
         if(f.hasRightEyePosition) NSLog(@"Right eye %g %g\n", f.rightEyePosition.x, f.rightEyePosition.y);
         if(f.hasMouthPosition) NSLog(@"Mouth %g %g\n", f.mouthPosition.x, f.mouthPosition.y);
    }

注意,检测到的位置是脸部数据在图片上的坐标(在uiimage上的,不是uiimageview上的),如果需要在视图上绘制范围,则需要进行坐标转换(y轴方向相反),并且也要注意图片在视图上的缩放等。



版权声明:本文为博主原创文章,未经博主允许不得转载。博主微信:lofocus 举报

相关文章推荐

用CoreImage实现人脸识别_iOS

前言 因需求需要,需要实现人脸检测功能,这次正好将这个功能整理了一下,简单的写了一个Demo。代码有点乱,不过,也不怎么想花时间去改了,感觉层次方面还算比较清晰的,好了,进入正题。 一、导入框架,...

iOS开发技术之人脸识别

Demo源码:https://github.com/EmyWong/PersonalUITech前言作为一名iOS开发人员,我觉得第一步是能够基本模仿一个APP,完成别人APP的界面搭建;第二步,是尽...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

ios 获取芝麻信用分

首先给上芝麻信用的官网https://b.zmxy.com.cn/index.htm?scene=alipay 关于导入SDK我就不多做解释了,在文档中写的还是比较详细的,有问题的话可以看看http...

android客户端直接调用芝麻信用的人脸认证

android端实现芝麻认证,人脸识别

【重点推荐】iOS开发之芝麻信用SDK的超详细使用教程

【重点推荐】iOS开发之芝麻信用SDK的超详细使用教程
  • l2i2j2
  • l2i2j2
  • 2016-04-26 23:49
  • 12911

实名认证 芝麻认证 人脸识别 集成

https://b.zmxy.com.cn/product/productDetail.htm?productId=w1010100000000002978&scene=shop 移...
  • elesos
  • elesos
  • 2017-05-04 18:39
  • 2930

【OpenCV入门指南】第四篇 图像的二值化

【OpenCV入门指南】第四篇 图像的二值化   在上一篇《【OpenCV入门指南】第三篇Canny边缘检测》中介绍了使用Canny算子对图像进行边缘检测。与边缘检测相比,轮廓检测有时能更好的反映图像...

【OpenCV入门指南】第六篇 轮廓检测 下

《OpenCV入门指南》系列文章地址:http://blog.csdn.net/morewindows/article/category/863841上一篇《【OpenCV入门指南】第五篇轮廓检测上》...

人脸识别 iOS开发

首先定义属性: @property (strong,nonatomic)UIImage *ima; @property (strong,nonatomic)UIImageView *iam...

iOS原生人脸识别CIDetector使用

本片博客版权归黑马程序员所有:黑马程序员 苹果原生人脸识别早在iOS5就已经有了,但是能够识别的数据及其的少,所以用的人不是很多。 目前做的比较好的人脸识别就是Facebook的face++ 人脸识别...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)