2013-03-06 96 views
2

如果我正在尝试查找所有相似颜色的像素,我应该使用什么颜色空间?我尝试过使用GrayScale并在图像中的位置运行DFS,我想要找到与它连接的相似像素,但看起来不是正确的方式。我应该使用哪种颜色空间,这将帮助我找到从图像中的某个点开始连接的相似颜色的像素。最初我有RGB图像。找到相似颜色的最佳色彩空间

+0

您可能想要使用[Delta E](http://www.easyrgb.com/index.php?X=DELT)计算,它几乎总是在L * a * b *色彩空间中完成。 – 2013-03-06 14:36:03

回答

2

这取决于“相似”对你意味着什么。一台计算机的颜色可能会与人类非常不同。

OTOH,HSV模型可以适合相当不错的,因为它非常直观的非机器人。

+0

正;您需要首先定义“相似”的含义,然后找到合适的颜色模型。 – tenfour 2013-03-06 14:29:16

0

我曾经使用Lab色彩空间和计算color difference(CIE76对我来说足够好),我曾获得好的结果。

the Wikipedia link

不像RGB和CMYK色彩模式,Lab颜色被设计成接近人类视觉。

所以,如果你对类似的定义是:“他们看起来很相似”,我会用实验室去。

0

实验室是一个非常好的色彩空间,但据我了解,由于它的非线性和通用性,使用起来会有点困难。

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

如果您对近似人类视觉感兴趣,YCrCb是一个很好的(并且不像Lab)色彩空间那么复杂。它考虑到对于人类来说,R,G和B组分产生更强和更弱的刺激。

0

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

将图像转换为HSV后,您必须设置通道饱和度和值,并使用像100或任何其他强调颜色的常见值。通过这种转换,Hue将成为唯一具有一些变化的通道,这应该足以仅显示几乎没有变化的相似颜色。

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