php美颜滤镜,新手入门看这里,BeautifyFace美颜滤镜Demo中文注释

这是Github上很著名的一个基于GPUImage框架做的一个美颜滤镜

我把这个Demo添加了一些中文的注释,方便新手入门,也是为了自己学习.

@class GPUImageCombinationFilter;

@interface GPUImageBeautifyFilter : GPUImageFilterGroup

//Combination  Filter是我们自己定义的三输入的滤波器。三个输入分别是原图像A(x, y),双边滤波后的图像B(x, y),边缘图像C(x, y)。其中A,B,C可以看成是图像矩阵,(x,y)可以看成其中某一像素的坐标。

{

GPUImageBilateralFilter *bilateralFilter; //双边模糊

GPUImageCannyEdgeDetectionFilter *cannyEdgeFilter;//Canny边缘检测算法

GPUImageHSBFilter *hsbFilter;//HSB颜色滤镜

GPUImageCombinationFilter *combinationFilter;//滤镜的组合

}

@end/*

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上。

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值