gpt4 book ai didi

ios - GPUImage 获取图像列的总和

转载 作者:行者123 更新时间:2023-11-29 04:21:59 25 4
gpt4 key购买 nike

我在我的项目中使用 GPUImage,我需要一种有效的方法来获取列总和。简单的方法显然是检索原始数据并添加每列的值。有人能建议一种更快的方法吗?

最佳答案

实现此目的的一种方法是使用我对 GPUImageAverageColor 类采取的方法(如 this answer 中所述),只是不减少每个步骤中每个帧的总大小,而只对以下一个维度执行此操作图片。

平均色彩滤镜通过在 X 和 Y 方向上按四倍逐步下降(将每一步将 16 个像素平均为 1 个像素)来确定整个图像的平均颜色。如果在单个方向上操作,您应该能够使用硬件插值在单个方向上每步减少 18 倍,并具有良好的性能。您的最后一步可能需要对较小的图像进行基于 CPU 的快速迭代,或者需要对此着色器的调整版本,将列中的最后几个像素拉到该列的最终结果像素中。

您注意到我在这里一直在讨论平均,因为任何 OpenGL ES 操作的输出值都需要以颜色表示,每个 channel 的范围只有 0-255。总和很容易超出此范围,但您可以使用平均值作为总和的近似值,并具有更有限的动态范围。

如果您只关心一个颜色 channel ,则可以将更大的值编码到 RGBA channel 中并以这种方式维护 32 位总和。

除了我上面描述的内容之外,您还可以在 Accelerate 框架的帮助下执行此求和。虽然可能不如基于着色器的减少那么快,但它可能足以满足您的需求。

关于ios - GPUImage 获取图像列的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12863725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com