Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Colors 在RGB中查找最近的颜色?_Colors_Rgb - Fatal编程技术网

Colors 在RGB中查找最近的颜色?

Colors 在RGB中查找最近的颜色?,colors,rgb,Colors,Rgb,我必须找到最近的颜色。例如,我有两种颜色colorA1和colorA2,它们几乎是相同的颜色。我还有其他颜色B1。 我需要这样一种方法: 颜色获取最接近的颜色(颜色A1、颜色A2、颜色B1)。这个方法应该给我colorB2,它是通过使用colorA1和colorA2的差来计算的,然后使用它们的距离,它应该给我colorB2,它与colorA1和colorA2中的距离相同。 你能给出一些如何实现它的想法吗?要找到最接近的颜色,你需要一个“near”的定义,也就是一个度量 在维基百科中,你会发现不同

我必须找到最近的颜色。例如,我有两种颜色colorA1和colorA2,它们几乎是相同的颜色。我还有其他颜色B1。 我需要这样一种方法: 颜色获取最接近的颜色(颜色A1、颜色A2、颜色B1)。这个方法应该给我colorB2,它是通过使用colorA1和colorA2的差来计算的,然后使用它们的距离,它应该给我colorB2,它与colorA1和colorA2中的距离相同。
你能给出一些如何实现它的想法吗?

要找到最接近的颜色,你需要一个“near”的定义,也就是一个度量

在维基百科中,你会发现不同的度量标准

就我个人而言,我会使用2*R*R+4*G*G+3*B*B(不需要平方根,只需比较相同的指标)。易于计算,只需使用整数(如果使用32位整数,则不会出现溢出)

然后找出哪种颜色与目标颜色之间的差异最小


其他方法更精确,但在这种情况下,“RGB”是不够的。您需要知道正在使用哪个颜色空间(可能是在sRGB中)。

要找到最接近的颜色,您需要“近”的定义,因此需要度量

在维基百科中,你会发现不同的度量标准

就我个人而言,我会使用2*R*R+4*G*G+3*B*B(不需要平方根,只需比较相同的指标)。易于计算,只需使用整数(如果使用32位整数,则不会出现溢出)

然后找出哪种颜色与目标颜色之间的差异最小

其他方法更精确,但在这种情况下,“RGB”是不够的。您需要知道正在使用哪个颜色空间(可能您在sRGB中)