寻找相似颜色的最佳色彩空间



如果我试图找到所有相似颜色的像素,我应该使用什么颜色空间?我尝试使用灰度,并在图像中的点上运行DFS,我想找到与之相连的类似像素,但似乎不是正确的方式。我应该用哪个颜色空间来帮助我找到a中相似颜色的像素,这些像素从图像的某一点开始相连。首先是RGB图像

这取决于你对"相似"的理解。对于计算机来说类似的颜色,人类可能会有非常不同的感知。

OTOH, HSV模型可以很好地拟合,因为它对非机器人非常直观。

我曾经使用Lab颜色空间和计算色差获得了很好的结果(CIE76对我来说已经足够好了)。

来自维基百科链接:

与RGB和CMYK颜色模型不同,Lab颜色是为接近人类视觉而设计的。

所以如果你对相似的定义是:"他们看起来很相似",我会用Lab。

Lab是一个非常好的色彩空间,但我知道由于它的非线性和一般性,使用起来有点困难。

如果你对色调感兴趣,并且正在处理你想要轻松消除阴影和反射的图像,那么HSV是一个非常好的色彩空间。

如果你对接近人类的视觉感知感兴趣,YCrCb是一个非常好的色彩空间(不像Lab那么复杂)。考虑到对人类来说,R、G和B成分会产生更强和更弱的刺激。

检查这个线程Python -找到相似的颜色,最好的方法

答案是:http://www.compuphase.com/cmetric.htm

您可以使用色彩空间HSV(色调,饱和度,值或亮度)。

转换图像到HSV后,你必须设置通道饱和度和值与一个共同的值,如100或任何其他强调颜色。通过这个变换,色相将是唯一有一些变化的通道,这应该足以显示只有小变化的相似颜色。

如果你想减少间隔,你可以用你想要的间隔生成一个通道Hue的直方图,并计算与其他直方图的差异。计算的结果将是颜色之间的距离。

最新更新