当代,美颜技术愈加强大,比如美白、瘦脸、磨皮等功能应有尽有,还有各种特效,比如哈哈镜、抖动效果等,在直播类和短视频类的平台中,美颜功能已经成为了不可缺少的一部分,美颜sdk应运而生,那么美颜sdk的多种功能是如何实现的呢?

其实主要还是依托于人脸识别系统来实现的,如人脸关键点检测技术,人脸识别技术,人脸追踪技术等等。要想让皮肤变好,呈现更好的状态,就需要通过各种算法和技术来实现的,小编在这里简单向大家来介绍一下。

如果要对人脸进行美白,就要用到肤色检测算法等来保护眉毛,头发等区域,仅仅提亮人脸皮肤的部分亮度来保护其他的地方,这不但要用到肤色检测算法,还要用到一些其他的算法。

如果美颜的清晰度不佳,就是“美白”和“磨皮”这一步没有做好,这对人脸识别能力有着非常大的考验,如果技术能力不够的话,人脸或者是背景就非常容易被模糊掉,导致美颜sdk的效果不好,这是得不偿失的。

一、对人脸的识别

美颜sdk可以轻松地识别我们脸部的位置,通过技术方法把人脸特征进行检测,从而确定是否有人脸的存在,人脸检测技术是美颜的关键一步。

二、美颜特效技术代码分析

美颜sdk中的特效有非常多,如贴纸、哈哈镜等,这也是依靠人脸关键点技术来进行的,就是对人脸中的鼻子、眼睛、嘴巴等进行脸部轮廓的定位,然后就跟我们平时扫脸支付一样,把人脸的关键点组成一个网格,对网格按照固定的参数进行改变,从而完成瘦脸、大眼等美化效果。
if ([self.delegate respondsToSelector:@selector(beautyLevel:whitenessLevel:ruddinessLevel: brightnessLevel:)]) {
NSString *str = [[NSUserDefaults standardUserDefaults] objectForKey:@“hasSelectedQuickBeauty”];
if ([str isEqualToString:@“YES”]) {
//2020-07-04 现在相机有默认美颜效果,取消一键美颜时需要恢复默认的美颜效果
//[self.delegate beautyLevel:0 whitenessLevel:0 ruddinessLevel:0 brightnessLevel:50];//为了取消一键美颜的效果
[self.delegate beautyLevel:5 whitenessLevel:5 ruddinessLevel:7 brightnessLevel:57];
[[NSUserDefaults standardUserDefaults] setObject:@“NO” forKey:@“hasSelectedQuickBeauty”];//保证只执行一次
}

    [self.delegate beautyLevel:self.beautyLevel whitenessLevel:self.whiteLevel ruddinessLevel:self.ruddinessLevel brightnessLevel:self.brightnessLevel];
}
NSString *beautKey = [NSString stringWithFormat:@"beauty_%ld",(long)self.beautyType];
[[NSUserDefaults standardUserDefaults] setInteger:value forKey:beautKey];

}

  • (void)handleBeautyEffectsWithSliderValue:(NSInteger)value {
    if ([self.delegate respondsToSelector:@selector(handleBeautyWithType:level:)]) {
    NSString str = [[NSUserDefaults standardUserDefaults] objectForKey:@“hasSelectedQuickBeauty”];
    if ([str isEqualToString:@“YES”]) {
    [self.delegate handleBeautyWithType:0 level:0];//为了取消一键美颜的效果
    [[NSUserDefaults standardUserDefaults] setObject:@“NO” forKey:@“hasSelectedQuickBeauty”];//保证只执行一次
    }
    if (self.beautyType == MHBeautyType_Brightness) {
    [self.delegate handleBeautyWithType:self.beautyType level:value
    10];
    }else{
    [self.delegate handleBeautyWithType:self.beautyType level:value/9.0];
    }

    }
    NSString *beautKey = [NSString stringWithFormat:@“beauty_%ld”,(long)self.beautyType];
    [[NSUserDefaults standardUserDefaults] setInteger:value forKey:beautKey];
    }

#pragma mark - 美型

  • (void)handleFaceEffectsWithSliderValue:(NSInteger)value {
    if ([self.delegate respondsToSelector:@selector(handleFaceBeautyWithType:sliderValue:)]) {
    NSString *str = [[NSUserDefaults standardUserDefaults] objectForKey:@“hasSelectedQuickBeauty”];
    if ([str isEqualToString:@“YES”]) {
    [self.delegate handleFaceBeautyWithType:0 sliderValue:0];//为了取消一键美颜的效果
    [[NSUserDefaults standardUserDefaults] setObject:@“NO” forKey:@“hasSelectedQuickBeauty”];//保证只执行一次
    }
    [self.delegate handleFaceBeautyWithType:self.faceType sliderValue:value];
    }
    NSString *faceKey = [NSString stringWithFormat:@“face_%ld”,(long)self.faceType];
    [[NSUserDefaults standardUserDefaults] setInteger:value forKey:faceKey];
    }

所以为了避免不必要的风险,也为了节约企业投入的成本,我们一定要选择信誉好的服务商来接入美颜sdk,在选择的时候也要多加比较,不要为了价格低而选择不好的美颜产品。

声明:本文由美狐原创,未经允许禁止转载,谢谢合作。

开源美狐美颜SDK功能代码分析相关推荐

  1. 美狐美颜SDK开源代码浅析

    美狐直播美颜sdk作为辅助性的软件开发工具包,深受开发者和运营商的喜爱,而直播APP中美颜的效果是现在大多数运营商都十分重视的.随着美颜技术的不断成熟,用户对直播所实现的美颜需求也越来越强. 下文小编 ...

  2. 美狐美颜SDK趣拍功能的算法代码解析

    经常使用美颜相机拍摄的小伙伴应该比较清楚,有些相机中会加入"趣拍功能",什么是趣拍功能呢?所谓趣拍功能,就是趣味拍摄,最常见的几个趣拍功能为:素描肖像风格.油画风格.二次元风格.卡 ...

  3. 美狐美颜SDK最常用功能代码解析

    当下,平台方接入美颜工具包甚至已经成为刚需,没有美颜SDK甚至都会极大程度影响到用户体验,对于主播则更为重要,这甚至会影响到平台的发展.如今,直播美颜工具在广大直播平台中时时刻刻发挥着重要的作用.那么 ...

  4. 美狐美颜SDK动态贴纸代码浅析

    如今,在美颜的刚需下,各大平台开始接入美颜SDK,接入美颜SDK是因为该平台希望能在竞争中脱颖而出并吸引更多用户,而现如今基本的美容和美容功能已无法满足用户的需求,还需要各种趣味功能,例如动态贴纸的帮 ...

  5. 美狐美颜SDK滤镜、哈哈镜功能算法分析

    我们在使用抖音拍摄短视频的时候,经常会在美颜滤镜中用到哈哈镜.怀旧等效果,那么这两种效果是如何实现的呢?下面就来分别为大家介绍下原理. 一.哈哈镜效果 现实生活中的哈哈镜,是指一种表面凹凸不平的镜子, ...

  6. 美狐美颜SDK中的人脸贴纸有何妙用?

    相信大家在日常生活中会看到各式各样的美颜工具,从一开始只有一小部分人才能使用的技术,发展到如今全民美颜的时代,美颜仅仅用了十年左右,可见美颜的传播度和普及度.初期的美颜一般都是先通过原相机拍摄再进行P ...

  7. [7]深入浅出工作开源框架Camunda: camunda-webapp 用户登录功能代码分析

    在上个章节<[6]深入浅出工作开源框架Camunda: 如何远程Debug camunda-webapp的源代码>笔者解释了如何进行Camunda的远程Debug,这个章节笔者给大家分享如 ...

  8. NTL密码算法开源库(数论库)代码分析项目--综述

    2021SC@SDUSC NTL密码算法开源库(数论库)代码分析项目--综述 项目综述 NTL开源代码库的安装和使用 NTL代码开源库主要解决的问题 项目分工以及核心代码的分配 项目综述 NTL算法库 ...

  9. 美颜SDK架构技术分析

    美颜SDK发展至今,功能早已不同于往日,相较于开始最基础的美白.磨皮,发展到现在的滤镜.3D面具等各种不同的功能.在这些新兴功能的背后,离不开强大的渲染能力以及美颜算法.那么,一款优质的美颜SDK应该 ...

最新文章

  1. 三种方法,用Python轻松提取PDF中的全部图片
  2. SPY++ 学习总结
  3. python向钉钉发送本地文件_Python实现向钉钉群发送消息通知
  4. 聊聊面试的事(应聘方)
  5. 并发事务正确性的准则 可串行化_从0到1理解数据库事务(上):并发问题与隔离级别...
  6. 2008年下半年软件水平考试之程序员试题分析
  7. 子查询三(在FROM子句中使用子查询)
  8. GitHub上IOS开源项目
  9. 拓端tecdat|R语言曲线回归:多项式回归、多项式样条回归、非线性回归数据分析
  10. ES6学习笔记九(函数的扩展)
  11. python没有pygame_教程丨python 做一个简单的MP3
  12. 【AI视野·今日CV 计算机视觉论文速览 第155期】Fri, 6 Sep 2019
  13. win10 清理回收站右键
  14. 例行检查软件列表,突然发现不明sangforvnc应用
  15. wordpress入门主题_WordPress儿童主题入门
  16. 新一代SSD接口来了 | M.2接口发福版?
  17. 【Tableau 设计提示11 】- 仪表板布局提示
  18. 工程下有一个红叉,但是可以照常运行
  19. 谷歌文件系统论文中文版
  20. LM小型可编程控制器软件(基于CoDeSys)笔记四:如何用rs232下载plc程序

热门文章

  1. 双色汉诺塔算法的证明——数学归纳法
  2. Codevs 侦探推理
  3. 计算机主硬盘隐藏分区大小,容量不翼而飞 解密四类硬盘空间隐藏占用(组图)
  4. MySQL_开窗函数_window frames基本操作
  5. 输出递归因数分解php,[学习笔记] Miller-Rabin质数测试 Pollard-Rho质因数分解
  6. 旷视研究院张祥雨:3年看1800篇论文,28岁掌舵旷视基础模型研究
  7. win10无线网卡(该设备无法启动,代码10)
  8. 【自然语言处理与文本分析】自然语言处理概要
  9. SOLIDWORKS直播课:解锁3DE协同设计平台的“云端结构设计角色”
  10. 概率论与数理统计——多方法解决-双样本方差的F检验-Excel/SPSS