GPUImage - 自定义直方图生成器

GPUImage - Custom Histogram Generator

我正在尝试使用 GPUImage 在我的应用程序中实现直方图。 GPUImage github 上名为 FilterShowcase 的示例项目带有一个很好的直方图生成器,但由于我正在制作的应用程序的 UI 设计,我需要编写我的自己的自定义图表来显示直方图值。有谁知道如何从 GPUImageHistogramFilter 获取 RGB 值,以便将它们弹出到我自己的图表中?

GPUImageHistogramFilter 生成一个 256x3 图像,其中中心 256x1 行包含 RGB 通道中打包的直方图的红色、绿色和蓝色值。 iOS 不支持 1 像素高的渲染帧缓冲区,因此我必须将其填充到 3 像素高。

GPUImageHistogramGenerator 创建您在示例应用程序中看到的可见直方图叠加层,它通过获取 256x3 图像并使用自定义着色器渲染输出图像来实现,该着色器以条形着色,其高度取决于输入颜色值.这是一个快速的基于 GPU 的实现。

如果您想做一些不使用着色器的自定义操作,您可以使用 GPUImageRawDataOutput 提取直方图值并提取中心 256x1 行的 RGB 分量。从那里,您可以绘制界面覆盖的其余部分,尽管使用 Core Graphics 完成的某些操作可能会消耗大量处理能力来更新每一帧。