iOS开发--GPUImage的使用

原创 2016年05月31日 11:27:25

GPUImage是一个可以给图片、视频增加滤镜(filter)的库,滤镜十分丰富,有:

"GPUImageColorInvertFilter.h"
"GPUImageSaturationFilter.h"  "GPUImageContrastFilter.h" "GPUImageExposureFilter.h" "GPUImageBrightnessFilter.h"
"GPUImageLevelsFilter.h" 
"GPUImageSharpenFilter.h"
 ...

等等一百多种。

使用方法

我们从官方给的例子出发,看看如何简单地使用。(tips:请按照以下1⃣️2⃣️3⃣️4⃣️5⃣️几点)

#import "GPUImage.h"
@interface SimpleImageViewController : UIViewController
{
    GPUImagePicture *sourcePicture;//源图片
    GPUImageOutput<GPUImageInput> *sepiaFilter;//滤镜
}
#import "SimpleImageViewController.h"

- (void)loadView
{    
    GPUImageView *primaryView = [[GPUImageView alloc] initWithFrame:mainScreenFrame];
    self.view = primaryView;
    ...
    //1⃣️输入的源图片初始化
    UIImage *inputImage = [UIImage imageNamed:@"yourImage.jpg"]; 
    sourcePicture = [[GPUImagePicture alloc] initWithImage:inputImage smoothlyScaleOutput:YES];
    //2⃣️初始化滤镜, 这里选择了“倾斜”效果的滤镜
    sepiaFilter = [[GPUImageTiltShiftFilter alloc] init];
    //size设定
    [sepiaFilter forceProcessingAtSize:imageView.sizeInPixels];
    //3⃣️源图片添加目标滤镜
    [sourcePicture addTarget:sepiaFilter];
    //4⃣️滤镜(Filter)添加输出view目标,这里用了self.view作为输出
    GPUImageView *imageView = (GPUImageView *) self.view;
    [sepiaFilter addTarget:imageView];
    //5⃣️开始转换
    [sourcePicture processImage];
}

以上,就是GPUImage的简单使用步骤。
若有更好的使用方法,欢迎多多指点。

参考:

BradLarson’s GPUImage

版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS 利用GPUImage 进行图像处理操作(入门篇)

图像入门处理GPUImage (适合刚接触图像处理人的使用)总结:共六部 创建处理样式的对象 设置样式的属性 获取要进行操作的数据源 *增加滤镜 开始渲染 创建渲染之后的图片 并展示出 开始操作之前需...

iOS GPUImage 的使用

GPUImage是现在做滤镜最主流的开源框架,没有之一。作者BradLarson基于openGL对图片处理单元进行封装,提供出GPUImageFilter基类,配合shader,常用滤镜都拿下不是问题...

iOS --- 使用GPUImage实现的简单滤镜效果

GPUImage 是一个基于 GPU 图像和视频处理的开源 iOS 框架。由于使用 GPU 来处理图像和视频,所以速度非常快. 除了速度上的优势,GPUImage 还提供了很多很棒的图像处理滤镜,但有...

iOS GPUImage的介绍与GPUImagePicture(1)

GPUImage介绍GPUImage是一个基于GPU图像和视频处理的开源iOS框架, 提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜;使用GPUImage处理图片比Core Image...

iOS GPUImage研究总结

关于GPUImage 这里直接引用官方描述:GPUImage是使用GPU处理图像的、他可以对图片、实时画面、视频进行处理。他允许你自定义滤镜、支持iOS4.0。然而,目前缺乏核心形象的一些更高级的功...
  • Xoxo_x
  • Xoxo_x
  • 2016年09月28日 23:03
  • 6721

1小时学会:最简单的iOS直播推流(四)如何使用GPUImage,如何美颜

最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! ...

iOS 使用GPUImage为本地视频添加滤镜

iOS视频滤镜添加,下面介绍使用GPUImage给本地视频添加滤镜

OpenGL ES 着色器(shader)介绍

1. Shader(就是一段程序Program)         Shader是一段执行在GPU上的程序(所以Shader也可以叫做Program),此程序使用OpenGL ES SL语言来编写。它是...

iOS --- 通过CoreImage实现的简单滤镜效果

CoreImage是苹果提供的图形处理类库, 可以非常简便地实现滤镜等图片处理效果.CGImageRefCGImageRef是定义在QuartzCore.framework中的一个结构体指针:type...

iOS开发之实现模糊效果 Core Image 、 vImage 、UIVisualEffectView、FXBlurView、GPUImage、UIImage+ImageEffects

iOS7后,半透明模糊效果得到了广泛的使用,所以iOS开发过程中经常需要用到半透明模糊效果,本文对比列举几种实现半透明模糊效果的方法,包括Core Image、vImage、BlurEffect,第三...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发--GPUImage的使用
举报原因:
原因补充:

(最多只允许输入30个字)