如何将图像(可能是RGB jpeg)转换为具有不规则调色板的3位颜色?

时间:2016-10-20 21:47:33

标签: c# image-processing colors

长话短说,有这个硬件只能显示6-7种类型的不规则像素,如(47,160,30),(229,52,10),(0,60,190)等。如何显示具有这些不规则像素的RGB图像具有最小误差? 我的方法是用抖动显示最接近原始像素的像素(通过检查RGB值的差异),但结果似乎总是关闭。 有没有办法我可以某种方式比较颜色,或任何我可以参考的书?

1 个答案:

答案 0 :(得分:1)

为了从人的角度计算颜色之间的距离,您需要将RGB转换为Lab颜色空间。 这篇维基百科文章包含您需要的所有数学:https://en.wikipedia.org/wiki/Color_difference,这一个https://en.wikipedia.org/wiki/Lab_color_space#RGB_and_CMYK_conversions包含RGB和Lab之间转换的数学

在这个答案中也提出了一个解决方案:Compare RGB colors in c#

这里有一个图书馆:https://github.com/THEjoezack/ColorMine