ios中基于科大讯飞SDK进行人脸装扮

本文介绍了一个基于科大讯飞人脸识别技术的应用开发流程。通过导入SDK并利用其强大的人脸识别能力,可以实现实时的人脸特征点捕捉及装饰效果的添加。文章详细记录了从SDK导入到自定义View绘制的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

demo下载地址 https://github.com/dlz996/faceDecorate/tree/master

大致介绍

  • 导入科大讯飞库

  • 采用科大讯飞人脸识别技术SDK

  • 抓取照相机预览层的帧数据

  • 创建一个View,将抓取到的帧数据放到View的Layer层,降低CPU损耗,提高用户体验

  • 抓取Layer层上每一帧的时候,将CIImage图片进行处理,获取到图片内容,宽高,图片方向

  • 将图片传递到科大讯飞检验,科大讯飞返回人脸特征点

  • 格式化人脸特征点,拿到面部信息,拆解出每一个坐标点

  • 自定义一个View,将面部坐标点传递进View,绘制图形上下文,将图片放入坐标点中,绘制图形上下文降低性能损耗

导入科大讯飞SDK

科大讯飞 注册账号,下载SDK,导入项目中

  • 添加依赖库

    • libc++.dylib

    • libstdc++.dylib

    • SystemConfiguration.framework

    • MobileCoreServices.framework

    • CoreGraphics.framework

    • UIKit.framework

在Build Settings->Framework Search Paths中设置引用存放SDK的文件相对路径路径

科大讯飞SDK其中使用HTTP,所以需要在Info.plist中添加

NSAppTransportSecurity    NSAllowsArbitraryLoads

导入Tools文件进入项目中,将Tools的类的头文件全局

然后来到AppDelegate.m中- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

实现注册SDK

 //设置log等级,此处log为默认在app沙盒目录下的msc.log文件
    [IFlySetting setLogFile:LVL_ALL];

    //输出在console的log开关
    [IFlySetting showLogcat:YES];

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *cachePath = [paths objectAtIndex:0];
    [IFlySetting setLogFilePath:cachePath];

    //创建语音配置,appid必须要传入,仅执行一次则可
    NSString *initString = [[NSString alloc] initWithFormat:@"appid=%@,",USER_APPID];
    //所有服务启动前,需要确保执行createUtility
    [IFlySpeechUtility createUtility:initString];

在使用的时候,使用IFlyFaceDetector开启检测权限,具体代码如下

 self.faceDetector=[IFlyFaceDetector sharedInstance];
 [self.faceDetector setParameter:@"1" forKey:@"detect"];
 [self.faceDetector setParameter:@"1" forKey:@"align"];

在自定义的View中,传递进面部坐标点,开启上下文,对图片位置进行处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值