前言
GPUImage是现在做滤镜最流行的开源框架。是Brad Larson在gitHub托管的一个开源项目。项目实现了图片滤镜、摄像头实时滤镜,该项目的优点不但在于滤镜很多,而且处理效果基于GPU,比使用CPU性能更高。
二、比较Core Image 、GPUImage框架
CoreImage框架,可以使用CIFiter内置的滤镜、使用框架内置的人脸检测、固定颜色的透明度剔除、能够移轴的高斯模糊等等。
虽然使用CoreImage框架能够满足大部分日程图片的滤镜处理之类的需求,而且是系统内置框架。性能上肯定是经过一番考究的。但是其中的API使用起来比较麻烦,尤其是基于对摄像头的数据流的实时滤镜(目前大部分直播的APP要求这个功能),使 用起来会有比较大的挑战。
GPUImage框架是目前比较主流的一款开源的图像处理框架。有iOS版也有安卓版,也推出了Swift版。在多平台选择性上没有顾虑。GPUImage隐藏了在iOS所用需要使用OpenGL ES的复杂代码,并用极其简单的接口以很快的速度处理图像。GPUImage的性能甚至在很多时候击败了CoreImage。
GPUImage最大的优点就是使用简便,它内部封装了许多滤镜,类似亮度滤镜、对比度滤镜、灰度滤镜、双边滤波等等。而且还有许多现成的卡通,黑白版,高斯模糊之类的滤镜效果。可以对stillImage静态图片处理,也可以创建camera并随意组合滤镜效果来构建一个摄像头实时滤镜。制作一些常用的滤镜、磨皮美颜效果都很方面。
三、使用CocoaPods 导入GPUImage框架
什么??不知道CocoaPods 是什么东西?赶紧去学习一下吧,作为一名合格iOS开发工程师,CocoaPods是必备技能。它的好处,我就不在这儿赘述。相信大多数开发者已经感受了它的魅力了。