博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS人脸识别(CoreImage)
阅读量:6988 次
发布时间:2019-06-27

本文共 1504 字,大约阅读时间需要 5 分钟。

1、从初始UIImage获取一个CIImage对象。

2、创建一个用于分析对象的CIContext。

3、通过type和options参数创建一个CIDetector实例。

type参数指定了要识别的特征类型。options参数可以设置识别特征的精确度,低精确度速度快,高精确度更准确。

4、创建一个图像数组,里面放对象的实例。

5、通过imageByCroppingToRect:方法结合原始图像以及在图像中找到的最后一个实例对象中指定的边界创建一个CIImage。这些边界表示人脸所在的CGRect。

6、通过CIImage创建一个UIImage,并在ImageView中显示。

//self.mainImageView.image选取的图片
- (IBAction)findFace:(id)sender{    UIImage * image = self.mainImageView.image;    CIImage * coreImage = [[CIImage alloc] initWithImage:image];    CIContext * context = [CIContext contextWithOptions:nil];    CIDetector * detector = [CIDetector detectorOfType:@"CIDetectorTypeFace"context:context options:[NSDictionary dictionaryWithObjectsAndKeys:@"CIDetectorAccuracyHigh", @"CIDetectorAccuracy", nil]];    NSArray * features = [detector featuresInImage:coreImage];        if ([features count] >0)    {        CIImage * faceImage = [coreImage imageByCroppingToRect:[[features lastObject] bounds]];        UIImage * face = [UIImage imageWithCGImage:[context createCGImage:faceImage fromRect:faceImage.extent]];        self.faceImageView.image = face;                [self.findFaceButton setTitle:[NSString stringWithFormat:@"%lu Face(s) Found", (unsigned long)[features count]] forState:UIControlStateNormal];        self.findFaceButton.enabled = NO;        self.findFaceButton.alpha = 0.6;    }    else    {        [self.findFaceButton setTitle:@"No Faces Found"forState:UIControlStateNormal];        self.findFaceButton.enabled = NO;        self.findFaceButton.alpha = 0.6;    }}

 

转载地址:http://oqwvl.baihongyu.com/

你可能感兴趣的文章
NEO改进协议提案4(NEP-4)
查看>>
3天破9亿!上万条评论解读《西虹市首富》是否值得一看
查看>>
ASP.NET Core 应用发布与部署指南
查看>>
【跃迁之路】【557天】程序员高效学习方法论探索系列(实验阶段314-2018.08.16)...
查看>>
【PHP7源码分析】PHP7语言的执行原理
查看>>
01 【零基础入门】html学习笔记(2)
查看>>
一名非典型二流学生的自述 | 我是如何从菜鸟进化到辣鸡的
查看>>
浅析MySQL语句优化中的explain参数
查看>>
JS 对象
查看>>
使用 Optional Chaining 做数据防御
查看>>
JSONP技术栈
查看>>
vscode 调试node之npm与nodemon
查看>>
laravel利用Redis来实现网站缓存读取
查看>>
大师带你开悟高薪程序员之路——《编程之道》番外篇
查看>>
iOS开发系列--代码混淆
查看>>
玩转webpack(二):webpack的核心对象
查看>>
VMware安装教程--Linux之路
查看>>
WCDB命令行编译报错解决方案
查看>>
兼容性写法获取鼠标坐标
查看>>
vue开发最佳实践
查看>>