美文网首页
GPUImage美颜-图像处理的基本概念

GPUImage美颜-图像处理的基本概念

作者: Jalynn葸 | 来源:发表于2016-11-29 11:09 被阅读195次

学习滤镜之前先对颜色的基本概念做一了解:

饱和度可定义为彩度除以明度,与彩度同样表征彩色偏离同亮度灰色的程度。饱和度是指色彩的鲜艳程度,也称色彩的纯度。饱和度取决于该色中含色成分和消色成分(灰色)的比例。含色成分越大,饱和度越大;消色成分越大,饱和度越小。

对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,差异范围越小代表对比越小,好的对比率120:1就可容易地显示生动、丰富的色彩,当对比率高达300:1时,便可支持各阶的颜色。但对比率遭受和亮度相同的困境,现今尚无一套有效又公正的标准来衡量对比率,所以最好的辨识方式还是依靠使用者眼睛。

HSB模式中,H(hues)表示色相,S(saturation)表示饱和度,B(brightness)表示亮度。 HSB模式对应的媒介是人眼。

美颜只是不同滤镜组合起来的效果,实际上美颜也是一种滤镜。

GPUImage:

GPUImageFilter就是用来接收源图像,通过自定义的顶点、片元着色器来渲染新的图像,并在绘制完成后通知响应链的下一个对象。

GPUImageFramebuffer就是用来管理纹理缓存的格式与读写帧缓存的buffer。

GPUImageVideoCamera是GPUImageOutput的子类,提供来自摄像头的图像数据作为源数据,一般是响应链的源头。

GPUImageView是响应链的终点,一般用于显示GPUImage的图像。

GPUImageBeautifyFilter是基于GPUImage的实时美颜滤镜中的美颜滤镜,包括GPUImageBilateralFilter、GPUImageCannyEdgeDetectionFilter、GPUImageCombinationFilter

绘制流程图

1、GPUImageVideoCamera捕获摄像头图像

调用newFrameReadyAtTime: atIndex:通知GPUImageBeautifyFilter;

2、GPUImageBeautifyFilter调用newFrameReadyAtTime: atIndex:

通知GPUImageBilateralFliter输入纹理已经准备好;

3、GPUImageBilateralFliter绘制图像后在informTargetsAboutNewFrameAtTime(),

调用setInputFramebufferForTarget: atIndex:

把绘制的图像设置为GPUImageCombinationFilter输入纹理,

并通知GPUImageCombinationFilter纹理已经绘制完毕;

4、GPUImageBeautifyFilter调用newFrameReadyAtTime: atIndex:

通知GPUImageCannyEdgeDetectionFilter输入纹理已经准备好;

5、同3,GPUImageCannyEdgeDetectionFilter绘制图像后,

把图像设置为GPUImageCombinationFilter输入纹理;

6、GPUImageBeautifyFilter调用newFrameReadyAtTime: atIndex:

通知GPUImageCombinationFilter输入纹理已经准备好;

7、GPUImageCombinationFilter判断是否有三个纹理,三个纹理都已经准备好后

调用GPUImageThreeInputFilter的绘制函数renderToTextureWithVertices: textureCoordinates:,

图像绘制完后,把图像设置为GPUImageHSBFilter的输入纹理,

通知GPUImageHSBFilter纹理已经绘制完毕;

8、GPUImageHSBFilter调用renderToTextureWithVertices: textureCoordinates:绘制图像,

完成后把图像设置为GPUImageView的输入纹理,并通知GPUImageView输入纹理已经绘制完毕;

9、GPUImageView把输入纹理绘制到自己的帧缓存,然后通过

[self.context presentRenderbuffer:GL_RENDERBUFFER];显示到UIView上。

相关文章

  • 关于GPUImage之美颜相机

    iOS GPUImage 美颜相机 GPUImage是一个强大的图像处理库,其中美颜相机,可以让我们实现自定义美颜...

  • GPUImage美颜-图像处理的基本概念

    学习滤镜之前先对颜色的基本概念做一了解: 饱和度可定义为彩度除以明度,与彩度同样表征彩色偏离同亮度灰色的程度。饱和...

  • 视频滤镜

    GPUImage原生美颜 GPUImage原生美颜 步骤一:使用Cocoapods导入GPUImage步骤二:创建...

  • GPUImage图像处理

  • iOS-DIY美颜相机

    本例是使用GPUImage开源框架,生成美颜相机。实时采集画面,进行美颜。 GPUImage GPUImage是开...

  • 将GPUImage添加到工程里

    将GPUImage添加到工程里 GPUImage提供图像处理滤镜,并且支持照相机和摄像机的实时滤镜GPUImage...

  • 美颜滤镜

    GPUImage GPUImage:是一个基于OpenGL ES 2.0图像和视频处理的开源iOS框架,提供各种各...

  • 美颜滤镜效果

    美颜滤镜效果 GPUImage的介绍 GPUImage 是一个开源的基于GPU的图片或视频的处理框架,其本身内置了...

  •  iOS 使用GPUImage实现滤镜效果

    GPUImage实现滤镜效果 GPUImage是一个开源的图像处理第三方库,提供了100多种滤镜效果来加工处理图片...

  • 滤镜初探-BeautifyFaceDemo原理理解

    利用GPUImage处理直播过程中美颜的流程 采集视频 => 获取每一帧图片 => 滤镜处理 => GPUImag...

网友评论

      本文标题:GPUImage美颜-图像处理的基本概念

      本文链接:https://www.haomeiwen.com/subject/jeibpttx.html