3

我目前正在使用 Brad Larson 出色的 GPUImage 框架来创建基于 iPhone 的应用程序,并且我想处理相机输入中心的圆形区域,以便该部分模糊并且周围区域处于焦点。

我可以使用 GPUImageGaussianSelectiveBlurFilter 实现相反的效果(即,使屏幕的中心区域对焦并且周围区域模糊)。

有谁知道通过创建一个基于 GPUImageGaussianSelectiveBlurFilter 的新过滤器来快速执行此操作的方法,它的作用相反?

4

1 回答 1

2

考虑到它们对框架的具体程度,这样的问题在项目的 GitHub 问题页面上可能更合适,但我可以很快回答这个问题。

使用来自 GPUImageGaussianSelectiveBlurFilter 的代码创建一个新过滤器,并在片段着色器中替换以下行:

gl_FragColor = mix(sharpImageColor, blurredImageColor, smoothstep(excludeCircleRadius - excludeBlurSize, excludeCircleRadius, distanceFromCenter)); 

gl_FragColor = mix(blurredImageColor, sharpImageColor, smoothstep(excludeCircleRadius - excludeBlurSize, excludeCircleRadius, distanceFromCenter));

这将反转从焦圈内外的点采样的图像(模糊或锐利)。您现在将使圆圈内的区域变得模糊,而外部则变得清晰。

于 2012-08-13T17:50:34.417 回答