最“稳定”的颜色表示:RGB?单纯疱疹病毒? CIELAB?

Posted

技术标签:

【中文标题】最“稳定”的颜色表示:RGB?单纯疱疹病毒? CIELAB?【英文标题】:Most "stable" color representation : RGB? HSV? CIELAB? 【发布时间】:2011-10-15 00:29:56 【问题描述】:

在计算机科学中有几种颜色表示:标准 RGB,还有 HSV、HSL、CIE XYZ、YCC、CIELAB、CIELUV……在我看来,大多数时候,这些表示试图接近人类视觉(感知上相同的颜色应该有相似的表示)

但我想知道的是,当涉及到图片时,哪种表示最“稳定”。我有一个对象,比如说一瓶可乐,我有这瓶可乐的数千张照片,是在非常不同的情况下拍摄的(主要区别在于照片的明暗程度,但还有方向等... )

我的问题是:根据经验,哪种颜色表示会给我最稳定的瓶子颜色表示?标签的“红色”颜色不应变化太大。好吧,我知道它会有所不同,但我想知道最“稳定”的表示。

我被告知 HSV 在这些方面比 RGB 更好,但我不知道其他方面。


编辑(技术细节):我拿瓶子的一个特定点。我在这一点的一千张图片中挑选相应的像素。我现在有一堆点,这取决于表示。我想要最小化这个云的“大小”的表示,例如最小化云点到其重心的平均距离的表示。

【问题讨论】:

任何物体的颜色在很大程度上取决于照明——不仅是光温,还有它的光谱。在阳光下可能具有相同感知颜色的物体(因为它们反射的光谱在人眼看来相同)在灯光下看起来不一定相同,而 LED 灯则完全不同。您需要考虑这种差异吗? 据我所知,没有色彩空间试图优化不同光照条件下“相同”颜色的相似性。我什至不确定这是否可能。 @Jilles :我很确定没有色彩空间可以做到这一点。我想知道哪一个最差。例如,在 HSV 表示中,V(值)应该说明您的像素有多亮或多暗。如果你标准化你的图片,使它们都具有相同的平均亮度(和方差),那么它可能会成为一个“好的”色彩空间? 【参考方案1】:

您可能想查看http://www.cs.harvard.edu/~sjg/papers/cspace.pdf,它提出了一个显然旨在解决这个精确问题的新色彩空间。

【讨论】:

这个色彩空间的哪个通道应该用于光照不变梯度测量?自己使用过有什么意见吗? 大概将颜色带回 RGB 的方法(在照明不变的新颜色空间中通过预乘 B、组件明智的自然对数,然后与 A 预乘来执行计算之后)是反转转换(与 A 的倒数预乘,分量明智exp(),与 B 的倒数预乘)? @AruniRC 我不认为它是这样工作的,光照不变性会使 3 个通道上的渐变(更多)光照不变,但是,所有 3 个通道仍然会因光照变化而变化。【参考方案2】:

我不知道有什么色彩空间可以满足您的要求,但我确实有一些意见:

RGB 与显示器上向我们显示颜色的方式非常匹配。就近似人类感知而言,它是可用的最差色彩空间之一。

至于其他色彩空间:有些人试图确保感知上接近的颜色在色彩空间中也很接近。其他人还试图确保感知上相似的颜色差异也会在色彩空间中产生相似的差异,无论您在色彩空间中的哪个位置。

第一个意思是,如果你认为蓝色 A 和蓝色 B 之间的颜色差异类似于蓝色 A 和蓝色 C 之间的颜色差异,那么在颜色空间中,蓝色 A 和蓝色 B 之间的距离将为类似于蓝色 A 和蓝色 C 之间的距离,它们在色彩空间中将全部靠近。我认为这被称为感知平滑的色彩空间。 CIE XYZ 就是一个例子。

第二个意思是,如果您认为蓝色 A 和蓝色 B 之间的颜色差异类似于红色 A 和红色 B 之间的颜色差异,那么在色彩空间中,蓝色 A 和蓝色 B 之间的距离将类似于红色 A 和红色 B 之间的差异。这称为感知上均匀的色彩空间。 CIE Lab 就是一个例子。


[edit 2011-07-29] 至于您的问题:HSV、HSL、CIE XYZ、YCC、CIELAB、CIELUV、YUV 中的任何一个都以某种方式从颜色信息中分离出照明,所以这些都是更好的选择.它们对照明变化具有一定的免疫力,但在色温剧烈变化或使用彩色光时无济于事。 XYZ 和 YUV 从 RGB(这是大多数相机给你的)计算成本更低,但也不如 HSV、HSL 或 CIELAB(后者通常被认为是最好的之一,但它也是一个)最困难的)。

根据您要搜索的内容,您可以校准图像的color balance。例如:假设您正在匹配可口可乐徽标:您知道徽标中的字母始终是白色的。因此,如果它们不在您的图像中,您可以使用它们必须校正的颜色,从而为您提供有关其他颜色的信息。

【讨论】:

非常感谢您的详尽解释!您帮助我更好地理解了导致创建其他颜色表示的原因。在某种程度上,你解释了(如果我错了,请纠正我)如果我向一个人展示某种颜色并要求他在 10 种预定义颜色的调色板中指出最接近的颜色,他会用如果颜色表示良好,则为最接近的值。但我想知道如果我拍了一千张相同颜色的照片,相机会告诉我像素有一个接近的表示吗?因为我们的大脑会做出不可思议的事情。【参考方案3】:

我们对事物颜色的感知主要取决于它的色调;一个颜色空间,比如 HSV,它给出一个单一的值来表示色调,效果最好。

虽然眼睛是一种非凡的工具,但仅仅知道一个点的颜色是不够的。如果整个场景带有黄色或蓝色调,眼睛会进行补偿,您的感知会变得更纯净——橙色的可乐瓶看起来会比实际颜色更红。黑暗和光明也是如此。如果可能,您应该在获取颜色样本之前尝试对图像进行补偿。

【讨论】:

对,对,对!我只考虑标准化亮度(我的图片具有相同的平均值和相同的方差)。感谢您的回答! (虽然它并没有完全回答我的问题^^)

以上是关于最“稳定”的颜色表示:RGB?单纯疱疹病毒? CIELAB?的主要内容,如果未能解决你的问题,请参考以下文章

关于颜色模式RGB 和HSB 的关系

torch是啥意思?

RGB与YUV

首例猪心移植细节全面披露:患者体内发现人类疱疹病毒,死后心脏重量翻倍,心肌细胞纤维化丨团队最新论文...

颜色模式中8位,16位,24位,32位色彩是啥意思

详解RGB-HSB互相转换的算法