如何以编程方式绘制UIImage的直方图?

问题描述 投票:5回答:4

如何在iPhone上以编程方式绘制UIImage的image histogram?例如。:

谢谢!

iphone objective-c cocoa-touch image-processing
4个回答
1
投票

实际上有,我会把你的问题提到Brad Larson的答案:https://stackoverflow.com/a/10359305/300115

你可以在他的库中找到类GPUImageHistogramFilter:https://github.com/BradLarson/GPUImage

lib中的“Filter Showcase”演示已经具有实时直方图分析的工作版本。


2
投票

您可以借助Accelerate框架计算直方图。有功能vImageHistogramCalculation_ARGB8888()。要调用此函数,您需要从UIImage创建vImage_Buffer。使用vImageBuffer_InitWithCGImage()函数。

有关更多信息,您可以将此框架添加到项目中并读取头文件中的文档:

Accelerate.framework / Frameworks / vImage.framework / Headers / vImage_Utilities.h Accelerate.framework / Frameworks / vImage.framework / Headers / Histogram.h


2
投票

这没有api。

编辑:iOS5引入了一个API。见克林的回答。

您可能希望获取图像的原始数据,计算颜色值并自己绘制直方图。

访问像素:How to get pixel data from a UIImage (Cocoa Touch) or CGImage (Core Graphics)?

使用CoreGraphics在自定义UIView子类中绘制直方图。


0
投票

您可能感兴趣的DSBarChart。试试看。

© www.soinside.com 2019 - 2024. All rights reserved.