目前正致力于一个关于android中颜色检测的学术项目。我试图在实时预览期间或拍摄照片后使用安卓摄像头检测颜色。
我正在寻找像这样的图像。这是ColorGrab android应用程序截图。基本上我想将每种颜色识别为特定的一种颜色。让我们举一个例子,假设应用程序检测到#FF6CBB但这种颜色实际上类似于粉红色,但我想在我的列表中将此颜色标记为RED。所以基本上我想将所有颜色转换为基本的8到10种颜色。所以任何颜色代码应该落在特定的范围内,并且该范围应该只代表一种颜色。
在此图像中,颜色代码实际上不是红色的十六进制代码,但我们可以在红色类别中生成此检测到的颜色代码。
总的来说,我的程序目标应该是将色轮的任何颜色代码识别为特定10种颜色中的一种颜色。如何以及以何种方式计算这个东西,我应该使用两种颜色之间最短的欧氏距离吗?
任何人都可以告诉我计算这个东西的算法或方法。
image 1
example of color distribution
答案 0 :(得分:0)
k-最近邻居(在你的情况下,k = 1)与欧氏距离可能适用于你的情况,因为你只有3个维度(这种方法受到the curse of dimensionality的影响)
您还可以使用不同的距离测量值,例如汉明距离