我有两种HSI(色相、饱和度和强度)的颜色值,我想要一个数字来表示这两种颜色之间的视觉差异。色相是0到360之间的数字。饱和度为0到1,强度为0到1。
例如,我们考虑红色和蓝色,它们的饱和度为100%,强度为100%。 在这个网站上,通过输入以下文本可以显示颜色。
红色是: hsv 0, 100%, 100%
蓝色是: hsv 240, 100%, 100%
显然,这是两种非常不同的颜色,因此我可以尝试使用色相组件并计算色相的绝对差异来计算颜色之间的差异,其中色相的差值为120(360-240),因为360也等于0的色相。
问题出现在饱和度或强度非常暗或非常亮的情况下,考虑非常暗的红色和蓝色。
深红色是: hsv 0, 100%, 20%
深蓝色是: hsv 240, 100% 20%
显然,这两种颜色之间的视觉差异小于明亮的红色和蓝色,如果询问一个朋友“哪一组颜色最不同?”他们可能会说是顶部的鲜艳红蓝色。
我正在尝试计算两种颜色之间像人类注意到的那样的差异。如果一个人看着两个颜色a和b,然后看着两个颜色c和d,他会注意到哪些颜色最不同。首先,如果颜色很亮(但不要太亮),则差异基于色相。如果颜色太亮,比如白色,或者太暗,比如黑色,或者太灰,那么差异就会变小。
应该可以有一个函数diff,其中x=diff(a,b)和y=diff(c,d)产生x和y,我可以使用x和y来比较差异以找到最不同的颜色或最相似的颜色。
例如,我们考虑红色和蓝色,它们的饱和度为100%,强度为100%。 在这个网站上,通过输入以下文本可以显示颜色。
红色是: hsv 0, 100%, 100%
蓝色是: hsv 240, 100%, 100%
显然,这是两种非常不同的颜色,因此我可以尝试使用色相组件并计算色相的绝对差异来计算颜色之间的差异,其中色相的差值为120(360-240),因为360也等于0的色相。
问题出现在饱和度或强度非常暗或非常亮的情况下,考虑非常暗的红色和蓝色。
深红色是: hsv 0, 100%, 20%
深蓝色是: hsv 240, 100% 20%
显然,这两种颜色之间的视觉差异小于明亮的红色和蓝色,如果询问一个朋友“哪一组颜色最不同?”他们可能会说是顶部的鲜艳红蓝色。
我正在尝试计算两种颜色之间像人类注意到的那样的差异。如果一个人看着两个颜色a和b,然后看着两个颜色c和d,他会注意到哪些颜色最不同。首先,如果颜色很亮(但不要太亮),则差异基于色相。如果颜色太亮,比如白色,或者太暗,比如黑色,或者太灰,那么差异就会变小。
应该可以有一个函数diff,其中x=diff(a,b)和y=diff(c,d)产生x和y,我可以使用x和y来比较差异以找到最不同的颜色或最相似的颜色。