Colors 最";“稳定”;颜色表示:RGB?高速列车?CIELAB?

Colors 最";“稳定”;颜色表示:RGB?高速列车?CIELAB?,colors,opencv,computer-vision,Colors,Opencv,Computer Vision,计算机科学中有几种颜色表示法:标准RGB,还有HSV、HSL、CIE XYZ、YCC、CIELAB、CIELUV。。。在我看来,大多数时候,这些表示都试图接近人类的视觉(感知相同的颜色应该有相似的表示) 但我想知道的是,当涉及到图片时,哪种表示法是最“稳定”的。我有一个物体,比方说一瓶可乐,我有数千张这瓶可乐的照片,是在不同的环境下拍摄的(主要的区别是照片的明暗程度,但有方向等等) 我的问题是:根据经验,什么颜色表示法能让我最稳定地表示瓶子的颜色?标签的“红色”颜色不应变化太大。嗯,我知道它会有

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

但我想知道的是,当涉及到图片时,哪种表示法是最“稳定”的。我有一个物体,比方说一瓶可乐,我有数千张这瓶可乐的照片,是在不同的环境下拍摄的(主要的区别是照片的明暗程度,但有方向等等)

我的问题是:根据经验,什么颜色表示法能让我最稳定地表示瓶子的颜色?标签的“红色”颜色不应变化太大。嗯,我知道它会有所不同,但我想知道最“稳定”的表示

有人告诉我,HSV在这方面比RGB好,但我对其他方面一无所知



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

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

RGB与我们在显示器上显示颜色的方式非常匹配。就接近人类感知而言,这是最糟糕的色彩空间之一

至于其他颜色空间:一些人试图确保在感知上紧密相连的颜色在颜色空间中也紧密相连。其他人也试图确保颜色上的感知相似差异也会在色彩空间中产生相似的差异,而不管你在色彩空间的何处

第一个意思是,如果你认为蓝色A和蓝色B之间的颜色差异类似于蓝色A和蓝色C之间的颜色差异,那么在颜色空间中,蓝色A和蓝色B之间的距离将类似于蓝色A和蓝色C之间的距离,并且这三者在颜色空间中的距离将非常接近。我认为这就是所谓的感知平滑色彩空间。这就是一个例子

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


[编辑2011-07-29]对于您的问题:HSV、HSL、CIE XYZ、YCC、CIELAB、CIELUV、YUV中的任何一种都可以通过某种方式将照明与颜色信息分开,因此这些是更好的选择。它们提供了一些对照明变化的免疫力,但在色温急剧变化或使用彩色灯光时,它们对您没有帮助。XYZ和YUV从RGB(这是大多数相机提供给您的)计算成本较低,但也不如HSV、HSL或CIELAB(后者通常被认为是最好的,但也是最困难的)好


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

我们对事物颜色的感知主要取决于它的色调;一个颜色空间,如HSV,它给出了一个单一的值表示色调将工作得最好


然而,眼睛是一种非凡的仪器,仅仅知道一个点的颜色是不够的。如果整个场景都有黄色或蓝色,眼睛将进行补偿,你的感知将是一种更纯净的颜色——橙色的可乐瓶将看起来比它更红。黑暗和光明也是如此。如果可能的话,在采集颜色样本之前,您应该尝试对图像进行补偿。

您可能想查看一下,它提出了一个新的颜色空间,显然是为了解决这一精确问题而设计的。

任何物体的颜色都在很大程度上取决于照明——不仅取决于光温,还取决于其光谱。在阳光下可能具有相同感知颜色的物体(因为它们反射的光谱不同,在人眼看来完全相同)在灯光下不必看起来相同,而LED灯则完全不同。你需要考虑到这种差异吗?据我所知,没有一个色彩空间试图优化不同照明条件下“相同”颜色的相似性。我甚至不确定这是否可行。@Jilles:我很确定没有颜色空间可以做到这一点。我不知道哪一个最差。例如,在HSV表示法中,V(值)可能表示像素的亮度或暗度。如果你规范化你的图片,使它们都具有相同的平均亮度(和方差),那么它可能会成为一个“好”的颜色空间?非常感谢你的详细解释!您帮助我更好地理解了导致创建其他颜色表示的原因。在某种程度上,你解释说(如果我错了,请纠正我),如果我向一个人展示某种颜色,让他在10种预定义颜色的托盘中指出最接近的颜色,如果颜色表现良好,他会指出最接近值的颜色。但我想知道,如果我拍了一千张相同颜色的照片,相机会不会告诉我,像素也有一个接近的表示?因为我们的大脑做了不可思议的事情。真的,真的,真的!我只是想