Android gpuimage美颜滤镜,GPUImage图片美颜

news/2024/11/9 3:17:23/

准备工作: 导入GPUImage框架

方式一 : 利用cocoapods 集成

方式二 : 去Githup下载源代码,然后导入

代码 :

方法一: (利用GPUImage框架提供的GPUImageView来展示滤镜后的图片)

// 预览view

GPUImageView *imageView = [[GPUImageView alloc]initWithFrame:self.view.bounds];

[self.view insertSubview:imageView atIndex:1];

// 原图

UIImage *image = [UIImage imageNamed:@"10.jpg"];

// 创建图片源

GPUImagePicture *picture = [[GPUImagePicture alloc]initWithImage:image];

// 滤镜

GPUImageSepiaFilter *filter = [GPUImageSepiaFilter new];

// 把图片数据添加到过滤器中

[picture addTarget:filter];

// 把过滤后的数据放到预览view上展示

[filter addTarget:imageView];

// 开始渲染

[picture processImage];

方法二 : (用自己定义的UImageView)

// 预览view

UImageView *imageView = [[UImageView alloc]initWithFrame:self.view.bounds];

[self.view addSubview:imageView];

// 原图

UIImage *image = [UIImage imageNamed:@"10.jpg"];

// 创建图片源

GPUImagePicture *picture = [[GPUImagePicture alloc]initWithImage:image];

// 滤镜

GPUImageSepiaFilter *filter = [GPUImageSepiaFilter new];

// 把图片数据添加到过滤器中

[picture addTarget:filter];

// 开始渲染

[picture processImage];

// 获取滤镜后的image

UIImage *image= [filter imageFromCurrentFramebuffer]

// 给自己定义的imageview赋值

imageView.image = image;

滤镜可以随便换的,想要达到什么效果换什么滤镜就可以了

简单介绍几种滤镜:

GPUImageBrightnessFilter : 调整亮度(所谓的美白)

GPUImageBilateralFilter : 模糊 (用来忽略脸上的痘痘啊之类的)

GPUImageSepiaFilter : 怀旧风格


http://www.ppmy.cn/news/372902.html

相关文章

BeautyGAN图片的高精度美颜

美颜:https://github.com/Honlan/BeautyGAN,还需要按照md下载模型就可使用 提高精度:https://github.com/TencentARC/GFPGAN,还需要按照md下载一些包就可使用 美颜: 1.使用网络:cycleGAN循环生成对抗网络 …

看图角色扮演聊天ui

该程序是一个聊天机器人的界面程序,主要功能是让用户输入文本,调用聊天机器人的模型或API,返回机器人的回复,并显示在界面上。 下面从以下几个方面讲解此程序的创新和功能。 GUI功能:程序使用了Python内置库tkinter作为GUI框架,实现了对话记录、文字输入、发送按钮和头像…

海康DVR DS-6708HW RTSP url格式笔记

海康DVR DS-6708HW RTSP 流地址格式: rtsp://admin:admin192.168.1.5:554/Streaming/Channels/101用户名:密码ip:端口/Streaming/Channels/通道号 其中通道号: 101:代表第1通道的主码流 102:代表第1通道的子码流 201&#xff1…

R语言 均值聚类、中心聚类、系谱聚类、密度聚类、最大期望聚类

关注微信公共号:小程在线 关注CSDN博客:程志伟的博客 R版本:v_3.6.1 主要讲述5类聚类: K-means聚类 K-中心聚类 系谱聚类 密度聚类 EM聚类 5种聚类的应用实例以及详细的参数说明如下: 数据导入数据&#xff1a…

解释Linux进程的父子关系,Linux进程管理

一,名词解释 1,什么是进程? 进程是已启动的可执行程序的运行实例,进程有以下组成部分: • 已分配内存的地址空间; • 安全属性,包括所有权凭据和特权; • 程序代码的一个或多个执行线程; • 进程状态。 程序: 二进制文件,静态 /bin/date, /usr/sbin/httpd,/usr/sbi…

GetLastError() 返回值一览

函数原型: DWORD GetLastError() 中文版(不完全) 〖0〗-操作成功完成。   〖1〗-功能错误。   〖2〗-系统找不到指定的文件。   〖3〗-系统找不到指定的路径。   〖4〗-系统无法打开文件。   〖5〗-拒绝访问。   〖6〗-句柄无效。   〖7〗-存储控制块被…

js三级地区选择插件,省市县级联下拉列表

js三级地区选择插件,省市县级联下拉列表 3级省地市级联菜单,ie/ff 测试通过,支持多个并存,支持事件 demo1为最简单的一份实现,页面id配置需在js文件中写入,适合简单情况 demo2增加了动态配置,可…

linux 带ifdef运行程序_Linux内核分析——可执行程序的装载

马悦原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 第七周 可执行程序的装载 一、预处理、编译、链接和目标文件的格式 (一)可执行程序是怎么得来的 1、linux系统中,可执行程序一般要经过预处理、编译、汇编…