使用Android Camera识别颜色

目前正在开发一个关于android中颜色检测的学术项目。 我试图在实时预览期间或拍摄照片后使用安卓摄像头检测颜色。

我正在寻找像这样的图像。 这是ColorGrab android应用程序截图。 基本上我想将每种颜色识别为特定的一种颜色。 让我们举一个例子,假设应用程序检测到#FF6CBB,但这种颜色实际上类似于粉红色,但我想在我的列表中将此颜色标记为RED。 所以基本上我想要转换基本8到10种颜色的所有颜色。 因此任何颜色代码应该落在特定范围内,并且该范围应该仅代表一种颜色。

在此图像中,颜色代码实际上不是红色的hex代码,但我们可以在红色类别中生成此检测到的颜色代码。

总的来说,我的程序目标应该是将色轮的任何颜色代码识别为特定10种颜色中的一种颜色。 如何以及以何种方式计算这个东西,我应该使用两种颜色之间最短的欧氏距离吗?

任何人都可以告诉我计算这个东西的算法或方法。

image 1 

ColorGrab应用程序的屏幕截图

 example of color distribution 

在此处输入图像描述

在你的情况下,k-最近邻居(在你的情况下为k = 1)可能适用于你的情况,因为你只有3个维度(这种方法受到维数的诅咒 )

您还可以使用不同的距离测量值,例如汉明距离