GPUImage滤镜实现分析
文章平均质量分 81
详细分析GPUImage滤镜的实现原理并加以实践
FatTiger1990
心静如止水,志刚如磐石,静默守星月之变,怀志付诸行日月乾坤之郎朗。
展开
-
色彩调整之灰度、替换、深褐色、CGA滤镜
GPUImageGrayscaleFilter灰度滤镜。获取图片的灰度图方法有很多种,常见的有平均值法、心理学法、去饱和法、分解法、单一通道法等。平均值法Grey=(Red+Green+Blue)/3Grey = (Red + Green + Blue) / 3Grey=(Red+Green+Blue)/3心理学法Grey=(Red∗0.3+Green∗0.59+Blue∗0.11)Grey = (Red * 0.3 + Green * 0.59 + Blue * 0.11)Grey=(Red∗原创 2021-02-26 09:50:36 · 926 阅读 · 0 评论 -
视觉特效之马赛克滤镜
GPUImagePixellateFilter马赛克滤镜。我们先来看mod函数的定义:mod(x,y)=x−y∗floor(xy)mod(x,y) = x - y * floor(\frac xy)mod(x,y)=x−y∗floor(yx)假设y=1y=1y=1,即mod(x,1)=x−1∗floor(x1)mod(x,1)= x - 1 * floor(\frac x{1})mod(x,1)=x−1∗floor(1x),生成图像如下:从图像中可以看出mod(x,y)的结果增量和x的增量在原创 2021-02-25 14:46:55 · 1194 阅读 · 0 评论 -
色彩调整之亮度、曝光度、对比度滤镜
GPUImageBrightnessFilter调节图像的亮度,公式如下:y=x+255∗by = x + 255 * by=x+255∗b其中xxx为调节前的像素值,yyy为调节后的像素值,bbb为调节参数;即分别在R、G、B三通道上加上调节参数即可。vec3 col = texture(iChannel0,uv).rgb;float brightness = 0.5;col += vec3(brightness);fragColor = vec4(col, 1.);brightness原创 2021-02-24 20:50:10 · 2755 阅读 · 4 评论 -
开篇
前言本系列文章主要学习GPUImage滤镜的算法,并加以实践。网上有很多介绍GPUImage的文章,这里就不再赘述。GPUImage内置有100多种滤镜,按功能可划分为:颜色调整(Color adjustments)、图像处理(Image processing)、**混合模式(Blending modes)和视觉效果(Visual effects)**等。如果大家对着色器编程感兴趣,推荐大家去ShaderToy和IQ的博客学习。废话不多说,我们开始吧~。ShaderToy简单介绍因为本次实践是在Sha原创 2021-02-24 19:37:44 · 122 阅读 · 0 评论