开源美颜滤镜SDK代码解析
经过互联网和科技的不断普及,人们的生活已经发生了翻天覆地的变化,几乎所有的行业都与互联网有所接轨,工作和生活也走向了科技化的道路。在大家日常生活中有许多显而易见的改变,各种新兴的娱乐方式也是充斥在互联网和生活之中,短视频直播平台就是个典型的例子。短视频平台之所以爆火是因为抓住了时代和人们的需求,这其中还有一定的科学依据,相关研究表明,人类在相同的单位时间内受到刺激程度会因为媒介产生变化,例如视频刺激会大于声音、图片、文字带来的刺激,短视频平台中五花八门的内容满足了人们的所有刺激需求,因此才会爆火,再就是短视频中的美颜滤镜SDK更是让人“流连忘返”,用过一次就再也忘不掉。
滤镜SDK接入短视频平台后展现出的效果非同凡响,它依靠图像增强技术,打造出多种不同风格的滤镜提供用户使用,例如:浪漫、清新、唯美、粉嫩等效果,用户可以使用多元化的滤镜实现不同风格的转变。很多用户经常向小编问起一个问题,“美颜滤镜SDK的代码是什么?”今天小编特意开一篇文章为大家解答一下。
(void)configureUI {
NSArray arr = @[@“美颜”,@“美型”/,@“滤镜”*/];
if (_segmentControl) {
return;
}
_segmentControl = [[WNSegmentControl alloc] initWithTitles:arr];
CGFloat bottom = _slider.frame.origin.y + _slider.frame.size.height;
_segmentControl.frame = CGRectMake(0, bottom+20, window_width, MHStickerSectionHeight);
///修改MHUI
_segmentControl.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:MHBlackAlpha];
[_segmentControl setTextAttributes:@{NSFontAttributeName: Font_12, NSForegroundColorAttributeName: FontColorBlackNormal}
forState:UIControlStateNormal];
[_segmentControl setTextAttributes:@{NSFontAttributeName: Font_12, NSForegroundColorAttributeName: FontColorSelected}
forState:UIControlStateSelected];
_segmentControl.selectedSegmentIndex = 0;
_segmentControl.widthStyle = WNSegmentedControlWidthStyleFixed;
[_segmentControl addTarget:self action:@selector(switchList:) forControlEvents:UIControlEventValueChanged];
[self addSubview:_segmentControl];
[self addSubview:self.lineView];
[self addSubview:self.beautyView];
self.lastView = self.beautyView;
///修改MHUI
[self addSubview:self.bottomView];
self.slider.maximumValue = 9;
NSInteger currentIndex = [self.beautyView currentIndex];
if(currentIndex == 0 || currentIndex == -1){
self.slider.hidden = YES;
}[self.faceView configureFaceData];
NSString *type = [[NSUserDefaults standardUserDefaults] objectForKey: @“MHSDKVersion”];
_viewsArray = @[self.beautyView,self.faceView,self.filtersView];
}(void)configureSlider{
// self.slider.maximumValue = 9;
}
#pragma mark - Action(void)switchList:(WNSegmentControl *)segment {
UIView *view = [self.viewsArray objectAtIndex:segment.selectedSegmentIndex];
self.slider.hidden = [view isEqual:self.filtersView];
self.assembleType = segment.selectedSegmentIndex;
if ([view isEqual:self.beautyView]) {
NSInteger current = [self.beautyView currentIndex];
if (current == 0 || current == -1){
self.slider.hidden = YES;
}else{
self.slider.hidden = NO;
}
NSString *faceKey = [NSString stringWithFormat:@“beauty_%ld”,(long)self.beautyType];
NSInteger currentValue = [[NSUserDefaults standardUserDefaults] integerForKey:faceKey];
[self.slider setValue:currentValue animated:YES];
self.slider.maximumValue = 9;
} else {
self.slider.maximumValue = 100;
}
if ([view isEqual:self.faceView]) {
NSInteger current = [self.faceView currentIndex];
if (current == 0 || current == -1){
self.slider.hidden = YES;
}else{
self.slider.hidden = NO;
}
[self.faceView configureFaceData];
NSString *faceKey = [NSString stringWithFormat:@“face_%ld”,(long)self.faceType];
NSInteger currentValue = [[NSUserDefaults standardUserDefaults] integerForKey:faceKey];
[self.slider setValue:currentValue animated:YES];
}if (![view isEqual:self.lastView]) {
[self.lastView removeFromSuperview];
}
[self addSubview:view];
self.lastView = view;
///修改MHUI
[self bringSubviewToFront:self.bottomView];
}
//slider 滑动修改对应的效果
(void)handleBeautyAssembleEffectWithValue:(NSInteger)value {
switch (self.assembleType) {
case 0:{
if (self.isTXSDK) {
[self handleBeautyEffectsOfTXWithSliderValue:value];
} else {
[self handleBeautyEffectsWithSliderValue:value];
}
}break;case 1:[self handleFaceEffectsWithSliderValue:value];break;case 2:[self handleQuickBeautyWithSliderValue:value];break;default:break;
}
}
#pragma mark - 底部按钮响应(void)cameraAction:(BOOL)isTakePhoto{
NSLog(@“点击了拍照”);
if (isTakePhoto) {
if ([self.delegate respondsToSelector:@selector(takePhoto)]) {
[self.delegate takePhoto];
}
}else{
if ([self.delegate respondsToSelector:@selector(clickPackUp)]) {
[self.delegate clickPackUp];
}
}
以上就是小编为大家整理的开源美颜滤镜SDK的部分代码,受限于篇幅问题暂时只讲这些,如果您对美颜技术感兴趣,请关注我!后续我会更新更多美颜技术相关话题。
开源美颜滤镜SDK代码解析相关推荐
- 美颜滤镜sdk常用的图形处理算法、代码分析
美颜滤镜sdk目前在视频.图文社交平台中的使用率是非常高的,特别是短视频平台和直播平台.今天小编就为大家讲解一下美颜滤镜sdk经常用到的算法和代码. 一.预处理算法.检测算法 在采集完图像后,首先会对 ...
- 美颜滤镜sdk是什么?
时下,大家在拍摄人像图片或者视频时都会使用滤镜进行润色,以此提高质感.当然,小编在这里所说的"滤镜"可不是很久之前那种套在相机镜头前的硬件滤镜,而是美颜滤镜sdk,目前已经有许多平 ...
- 美颜滤镜SDK有什么效果?美颜SDK可以自主开发吗?
当下,短视频和直播平台在互联网娱乐APP类中保持着极高的人气,特别是在年轻群体中,甚至已经成了人手必备.如今的年轻人喜欢追求新鲜事物,审美能力也有所提高,对自己外表比较严格,特别是在短视频和直播这种社 ...
- 常用的美颜滤镜sdk算法
本文主要介绍常见的美颜滤镜SDK算法,包括 SRGB. HSL. Lab. JPEG. TIFF等.本文不会过多介绍算法原理,只是列举一些在实际项目中用到的滤镜效果,如: 1.色彩空间变换 2.颜色范 ...
- 在直播中,美颜滤镜SDK起到了什么作用,是在哪一阶段起的作用?
美颜,到底是在直播的哪一步骤上场的呢? 这,要从直播软件的工作流程说起 一. 美颜SDK从哪里上场 1. 首先,主播端打开设备(摄像头),采集音视频信息,此时,美颜滤镜SDK开始运转,对视频进行处理 ...
- 开源搜索项目-倒排索引代码解析(一)
转载:http://www.mingyuanfeng.co.cc/search/label/%E5%80%92%E6%8E%92%E7%B4%A2%E5%BC%95%EF%BC%8C%E5%BC%80 ...
- AI美颜SDK功能算法代码解析
AI美颜这个概念是近几年所兴起的新技术,它是以海量数据为中心,以人工智能.深度学习的方式实现智能美颜的算法. 一.AI美颜算法与传统美颜算法有哪些区别? 从浅显的角度来看,AI美颜算法与传统美颜算法呈 ...
- 视频直播美颜SDK算法代码解析
随着短视频.直播软件一类app的流行,美颜sdk的应用也越来越广泛.所谓"美颜",简单解释下,就是通过视频(图片)技术对人脸进行美化.但是就"美化"这个词,却牵 ...
- 直播一对一源码主播美颜SDK代码分享
这是一篇关于直播一对一源码主播美颜SDK代码分析,仅供码农参考. /** Created by cxf on 2017/9/1. 直播一对一源码主播直播间美颜,滤镜等效果 */ case Beauty ...
- 视觉SLAM开源算法ORB-SLAM3 原理与代码解析
来源:深蓝学院,文稿整理者:何常鑫,审核&修改:刘国庆 本文总结于上交感知与导航研究所科研助理--刘国庆关于[视觉SLAM开源算法ORB-SLAM3 原理与代码解析]的公开课. ORB-SLA ...
最新文章
- 当个新手很幸福!网络创业之新手小白一样可以吸粉又赚钱
- 免费的网络推广教大家新站点前期优化如何进行?
- 设置zookeeper开机自启动
- pandas 检查某个元素是否在index中
- 工信部:老年人拨打三大运营商客服享受一键呼入等服务
- 基于CAS实现SSO单点登录
- 元素增删事件DOMNodeInserted和DOMNodeRemoved
- 20190903:(leetcode习题)颠倒二进制位
- Java中常见的URL问题及解决方案
- Delphi运行期错误
- 5. DICOM图像层级分类-DCMTK-压缩图像PixelData读取
- Java实现分页功能常见的几种方法
- 服务器数据恢复建议_raid磁盘阵列OFFLINE后的应急处理方案
- 刘宇辰java_大家帮忙取名字啊
- Python jieba库的安装
- 打造室内 “店铺级” 定位的 Petal Maps Platform,正在重塑数字生活新范式
- 【牛投客】;牛投客最新消息
- day1(Python爬虫:天气
- Python整数类型
- android背景图片高度,Android ImgaView背景图片不失真处理