【问题标题】:Finding nearest color in RGB?在 RGB 中找到最接近的颜色?
【发布时间】:2019-08-17 16:14:57
【问题描述】:

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

【问题讨论】:

    标签: colors rgb


    【解决方案1】:

    要找到最接近的颜色,您需要一个“接近”的定义,即一个度量标准。

    在 Wikipedia 中,您会发现 color differences 的不同指标。

    我个人会使用 2*R*R + 4*G*G + 3*B*B。 (不需要平方根,您只需比较相同的指标)。计算方便,只用整数即可(如果用32位整数,不会溢出)。

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

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

    【讨论】:

      猜你喜欢
      • 2016-11-13
      • 1970-01-01
      • 2011-05-09
      • 2019-07-02
      • 2011-05-27
      • 2017-10-26
      • 2014-09-01
      相关资源
      最近更新 更多