我有一个调色板,要么是 32 要么是 256。然后我有一个输入颜色流(在 RGB 中)。我想找出传入颜色与调色板中的哪种颜色最匹配。我相信这种算法被用于许多图像编辑软件中。
到目前为止,我想出了以下内容:
distance
对于每种传入的颜色,通过找出与调色板中每种颜色的距离,找到调色板中最小的颜色。- 为了找到距离,以下方法之一:
- R、G 和 B 值差的平方和 (
(R1-R2)² + (G1-G2)² + (B1-B2)²
) - 将颜色转换为 HSV,使用 H、S 和 V 值的加权平均值作为距离指标。就像是
3 ✕ (H1-H2)² + 2 ✕ (S1-S2)² + (V1-V2)²
- YCbCr 距离
- R、G 和 B 值差的平方和 (
我特别在寻找两件事。
- 有没有比检查调色板中每种颜色的距离更好的方法?我正在寻找某种分箱算法来从调色板中找到正确的颜色。
- 如果坚持检查调色板中每个项目的距离,是否有标准公式被认为是标准的?