二进制量化CGImage(图像主要亮或暗)

时间:2012-01-16 06:39:19

标签: ios core-graphics quartz-graphics quartz-2d cgimage

我有一个CGImage,我想确定它是主亮还是暗黑。我当然可以遍历矩阵,看看是否有足够数量的像素超过了所需的阈值。但是,由于我不熟悉图像处理,我认为CoreGraphics或Quartz中必须有内置函数,这些函数更适合,甚至可能加速。

3 个答案:

答案 0 :(得分:2)

CoreGraphics(又名Quartz 2D)没有任何功能。 Mac OS X上的CoreImage有CIAreaAverageCIAreaHistogram,这可能会对您有所帮助,但我认为iOS(从5.0.1开始)不具备这些过滤器。

iOS确实有the Accelerate frameworkvImageHistogramCalculation_ARGBFFFF功能和相关功能可能对您有所帮助。

答案 1 :(得分:1)

以下是如何在iOS应用中使用CIAreaAverage:

#include

答案 2 :(得分:0)

有一种更快,更有效的方法来测量特定的度量而不是强度直方图 - 事实上,如果你打算用它做的就是测量。

图像键控是另一种;它由强度的总和平均值决定,但不需要对它们进行分级。图像键控公式(我有,如果需要)返回的值可以用于局部自适应色调范围映射(您想要的)使用简单的伽玛调整(像素的强度值,在图像键值)。

这并不难,而且很明显,您拥有使用这种更快,更有效的方法来区分明暗图像的技能和经验。

更重要的是,您应该建立一种模式,并在任何地方使用图像公制公式代替直方图。它们旨在解释信息,而不仅仅是收集信息。不仅如此,它们通常是可互操作的,这意味着它们可以一个堆叠在另一个之上,就像Core Image过滤器一样。

具体内容请阅读:

适应图像键的Gamma校正,Laurence Meylan的高动态范围图像的色调映射第14页。