查找图像中像素的Hue

时间:2015-08-23 10:07:36

标签: image-processing colors

我正在尝试将我的rgb图像转换为hsv。我能够找到值和饱和度,但在处理色调时遇到了问题。我搜索了找到色调值的公式,并在这里得到了一个。

How do you get the hue of a #xxxxxx colour?

但是这里接受的答案也只讨论了3个选项。

  1. R是最大值
  2. G是最大值
  3. B最大
  4. (所以这是重复的问题)

    但是其他案例如

    R >= G > B or 
    B >= G > R or 
    G >= B > R etc
    

    显然,这里没有一个值是最大值。因此,为了清除我的疑问,我搜索了谷歌并找到了以下页面:

    https://en.wikipedia.org/wiki/Hue

    这里给出了用于查找色调值的表,并且还给出了6种可能的情况。我的问题是

    1. 表中给出的公式中的值2,4或6是什么?它们是如何计算的?
    2. 为什么只有6例可能(如表所示)?

      怎么样?
      G >  B >= R or    
      G >= B >= R or     
      B >= R >  G or     
      B >= R >= G etc.
      

1 个答案:

答案 0 :(得分:0)

您可以让ImageMagick(安装在大多数Linux发行版上,可用于OSX和Windows)通过创建单个像素RGB图像并转换为HSL颜色空间来告诉您答案:

convert xc:"#ffffff" -colorspace hsl -format "%[pixel:p{0,0}]" info:

hsl(0%,0%,100%)

convert xc:"rgb(127,34,56)" -colorspace hsl -depth 8 txt:

# ImageMagick pixel enumeration: 1,1,255,hsl
0,0: (96.0784%,57.6471%,31.7647%)  #F59351  hsl(96.0784%,57.6471%,31.7647%)