iOS应用程序是否可以拍摄图像然后分析所述图像中的颜色?

时间:2015-05-14 23:24:00

标签: ios iphone swift

例如,在拍摄图像后,应用程序会告诉您图片中存在的红色,蓝色,绿色和黄色的相对数量以及每种颜色的强度。

这是我所知道的超级具体,但我真的想知道它是否可能,以及是否有人知道如何去做。

谢谢!

1 个答案:

答案 0 :(得分:3)

当然可以。您必须将图像加载到UIImage中,然后获取底层CGImage,并获取指向像素数据的指针。但是,如果你平均所有像素的RGB值,你可能会得到一个相当混乱的结果,除非你对大面积强原色的图像进行采样。

Erica Sadun的优秀iOS开发者食谱系列有一个关于像素图像数据采样的部分,展示了它是如何完成的。在最近的版本中,有一个"核心"和#34;扩展"体积。我认为它在核心iOS卷中。我的Mac iBooks副本现在反复崩溃,所以我无法找到它。对不起。

编辑:

我终于在iPad上打开了它。它位于核心卷中,在配方1-6中,"测试触摸位图Alpha级别。"正如标题所暗示的那样,该配方会查看图像的alpha级别,以确定您是否通过点击透明像素来点击不透明图像像素或错过图像。您需要调整该代码以获得图像的平均颜色,但Erica的代码显示了困难的部分 - 获取和解释图像数据的字节。那本书都在Objective-C中。如果您无法搞清楚,请发表评论。