考虑到颜色的细微差异

时间:2019-02-03 03:41:56

标签: python colors

我正在尝试为口袋妖怪黑色制作一个简单的EV训练机器人,该机器人会检查是否通过颜色在屏幕上显示了lillipup。

问题在于,有时出现lillipup时,其颜色会略有不同(显然,不是光泽的)。在任何一个RGB通道中,它可以更高或更低1-3,这使得几乎无法预测。

我尝试过在它们之间进行简单的距离检查(好像它们是3d坐标),但是无论我将阈值设置得多么低,它似乎都不起作用(当阈值为1且lillipups时仍会触发屏幕上没有颜色。

代码(颜色是我正在比较的'默认'lillipup颜色):

        color = img.getpixel((x,y))
        r1=Color[0]
        r2=color[0]
        g1=Color[1]
        g2=color[1]
        b1=Color[2]
        b2=color[2]            

        d=math.sqrt((r1-r2)^2+(g1-g2)^2+(b1-b2)^2)

我在这里做错什么了吗?还是应该以其他方式做这件事?

1 个答案:

答案 0 :(得分:0)

对于测量向量之间的相似性,cosine distance比欧几里得距离要好得多。

您可以尝试color quantization

您可以使用k-means算法。一种实现是在scikit-learn

您似乎在问一个object recognition问题。这些通常并不琐碎。