用GPUImage做自己的滤镜

本文介绍了如何利用GPUImage库创建自定义滤镜。通过OpenGL ES进行图片和视频渲染,无需深入了解OpenGL ES,只需理解基本算法。以强光混合算法为例,展示了如何使用vec4改变像素颜色,并给出了调整亮度为0.5的简单滤镜实现。同时,提到了通过文件方式创建滤镜以及后续将探讨多输入滤镜的计划。

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

这篇博客主要说一下怎么用GPUImage这个库来撸一个自制滤镜。

  1. GPUImage中滤镜主要使用OpenGL ES来对图片和视频进行渲染,当然,要自制一个滤镜并不需要你对OpenGL ES有很深入的了解,但最好还是简单了解一下。这里给出一个参考资料

  2. 手撸一个滤镜需要算法(像:Overlay(B,A) (A < 128) ? (2 * A * B / 255) : (255 - 2 * (255 - A) * (255 - B) / 255) [强光混合算法])。

  3. GPUImage里面手撸滤镜通过使用vec4来表示一个像素点的颜色,即rgb和a(RGB色通道和透明度);

先写一个超级简单的例子,写一个把亮度改成0.5的滤镜

    //这里写2个,一个用手撸的滤镜,一个用GPUImage的,来验证效果
    _upGPUImageView = [[GPUImageView alloc] initWithFrame:_imgViewUp.frame];
    _downGPUImageView = [[GPUImageView alloc] 
         initWithFrame:_imgViewDown.frame];
    [self.view addSubview:_upGPUImageView];
    [self
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值