0

我在我的照片应用程序中使用 GPUImage 来制作一些图像过滤器选项。在应用程序中,有一个选项可以在捕获图像时添加多个过滤器,因此为了处理多个过滤器,我使用了 GPUImageFilterPipeline。我添加的每个过滤器效果在除 GPUImageHistogramFilter 之外的管道上运行良好。我知道与其他过滤器相比,GPUImageHistogramFilter 需要更多步骤(如此所述)。但这不适用于管道。如何使用 GPUImageFilterPipeline 制作直方图?

4

1 回答 1

2

GPUImageHistogramFilter 不像普通过滤器那样运行,您不能直接使用它的输出。它发出一个包含 RGB 通道直方图的 3x256 纹理,但您需要某种方法来解析它以进行显示。您将无法在 GPUImageFilterPipeline 构造中进行设置。

相反,您需要按照 FilterShowcase 示例应用程序中提供的示例(或我在上面链接的答案中的步骤)手动设置过滤器管道。我使用直方图生成器来创建您在示例中看到的叠加层,并且没有简单的方法可以使用 GPUImageFilterPipeline 进行设置。

另外,我个人建议不要使用 GPUImageFilterPipeline,因为我不维护该类。它是由其他几个人贡献的,但我自己并没有将它用于任何事情,而且它有损坏的倾向。如果您需要组织过滤器子单元,我会自己创建过滤器链或将东西放在 GPUImageFilterGroup 中。

于 2014-03-28T19:33:33.233 回答