我在照片应用中使用GPUImage来制作一些图像滤镜选项。在应用程序中,有一个选项可以在捕获图像时添加多个过滤器,因此为了处理多个过滤器,我使用了GPUImageFilterPipeline。除了GPUImageHistogramFilter之外,我添加的每个滤镜效果都适用于管道。我知道GPUImageHistogramFilter在与其他过滤器比较时需要更多步骤(如上所述here)。但这不适用于管道。如何使用GPUImageFilterPipeline制作直方图?
答案 0 :(得分:2)
GPUImageHistogramFilter不像普通过滤器那样运行,您无法直接使用其输出。它发出一个包含RGB通道直方图的3x256纹理,但是你需要一些解析它来显示的方法。您无法在GPUImageFilterPipeline构造中进行设置。
相反,您将要按照FilterShowcase示例应用程序中提供的示例(或您在上面链接的答案中的步骤)手动设置过滤器管道。我使用直方图生成器来创建您在示例中看到的叠加层,并且没有简单的方法可以使用GPUImageFilterPipeline进行设置。
另外,我个人建议不要使用GPUImageFilterPipeline,因为我没有维护该课程。它是由其他几个人贡献的,但我自己并没有将它用于任何事情,而且它有破坏的倾向。我只是自己创建过滤器链,或者如果需要组织过滤器子单元,则将其放在GPUImageFilterGroup中。