iOS开发iOS学霸笔记开发

如何使用GPUImage实现摄影类 app 中的滤镜

2016-03-22  本文已影响2704人  ClaudeLi

GPUImage是一个十分强大的基于GPU图像和视频处理的开源iOS框架,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜; 基于GPU的图像加速,因此可以加速对实时摄像头视频、电影以及image的滤镜和其它效果处理,并且能够自定义图像滤镜。

github项目地址: https://github.com/BradLarson/GPUImage

也可以用cocoapods下载,附两篇关于cocoa pods安装及使用文章

1. http://code4app.com/article/cocoapods-install-usage

2. http://www.jianshu.com/p/6e5c0f78200a

GPUImage虽然自带了几十种滤镜,依然满足不了产品的需求。

GPUImage怎么用?GPUImage的下载包中有几个demo,可以先研究研究。

下面讲讲滤镜的制作:加一层调制好的调色调光的模板

GUPImage里有一张标准图如下

设计师用 Photoshop 调出来的色彩效果输出在了这种「格子图」上,在 App 里通过解析「格子图」得到了色彩的变化规则,然后把这个规则应用在了图片/视频上,这种规则就是一种滤镜的算法。注意,这里只能进行颜色上的调整(曲线,色彩平衡等),其他效果调整也只限于利用图层间混合模式的更改,例如可做暗角、漏光等效果。

GPUImage中自带三种这样的滤镜GPUImageAmatorkaFilter、GPUImageMissEtikateFilter、GPUImageSoftEleganceFilter,点入GPUImageAmatorkaFilter.h可以看到

这个滤镜就是lookup_amatorka.png 参照基本图在PS上做出来的。

GPUImageAmatorkaFilter.m 中

根据这样的方法,把标准图给设计师,设计师添加完产品需要的调色动作,把新图导入程序,调用上面GPUImage中的方法,就得到了想要的滤镜。

具体实现流程与 使用 http://huangtw-blog.logdown.com/posts/176980-ios-quickly-made-using-a-cicolorcube-filter 一文中描述的方法思路相同

上一篇下一篇

猜你喜欢

热点阅读