我有一个调色板,是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值差的平方和(
我特别想找两样东西。
- 有比检查调色板中每种颜色的距离更好的方法吗?我正在寻找某种装箱算法来从调色板中找到合适的颜色
- 如果坚持检查调色板中每个项目的距离,是否有被视为标准的andy标准公式
通常,答案取决于您为什么要这样做。
如果目标是最小化数值近似误差,则差的平方和(或绝对差的最大值(就可以了
我不赞成任何武断的公式,比如某个色度空间中的差值加权和,这种公式没有确切的理由,也很难解释。
如果你想让人眼的图像尽可能地与原始图像相似,你可以使用";"感知一致";度量,例如CIELABΔE*。无论如何,在我个人看来,这样的衡量标准过于复杂,几乎没有带来什么好处。你只会看到与调色板中的颜色相距甚远的颜色的差异,如果有的话。