目前正在从事一个关于android中颜色检测的学术项目。我正在尝试使用android摄像头来检测颜色,这将在实时预览或照片拍摄之后进行。
我在找类似这张照片的东西。这是ColorGrab安卓应用程序截图。基本上,我想把每一种颜色识别为一种特定的颜色。让我们举一个例子,假设应用程序检测到#FF6CBB,但是这个颜色实际上类似于粉红色,但是我希望在我的列表中将这个颜色标记为红色。基本上,我想把所有的颜色转换成基本的8到10种颜色。因此,任何颜色代码,应该是在特定的范围内,而这个范围应该只代表一种颜色。
在这个图像中,颜色代码实际上不是红色的十六进制代码,但是我们可以在红色颜色类别中使这个检测到的颜色代码。
总体来说,我的程序目标应该是识别任何颜色代码的颜色轮作为一个颜色中的一个特定的10种颜色。如何以及如何计算这个东西,我应该使用两种颜色之间最短的欧几里德距离吗?
有人能告诉我计算这个东西的算法或方法吗?
image 1
example of color distribution
发布于 2015-05-27 22:32:58
具有欧几里德距离的K近邻(k=1 )在您的情况下可能有效,因为您只有三维(此方法受维度的诅咒影响)。
您也可以使用不同的距离度量,例如汉明距离。
https://stackoverflow.com/questions/30497816
复制