使用colorsys将RGB转换为HSV

时间:2016-06-06 11:53:54

标签: python rgb hsv

我正在尝试制作一个带有图像的跟踪程序,并显示具有指定颜色的对象的位置:

示例:https://imgur.com/a/8LR40

要做到这一点我现在正在使用RGB,但它真的很难用它,所以我想把它转换成一个色调,所以它更容易使用。我正在尝试使用colorsys,但在做了一些研究后,我不知道它想要什么参数和它给出了什么。我试图使用colorizer.org获得一场比赛,但我得到了一些不确定。

>>> import colorsys
>>> colorsys.rgb_to_hsv(45,201,18)
(0.3087431693989071, 0.9104477611940298, 201)

alredy colorsys没有记录,因为在https://docs.python.org/2/library/colorsys.html它表示输出总是一个介于0和1之间的浮点数,但值是201.这也是不可能的,因为在标准HSV中值是介于两者之间0和100。

我的问题是: colorsys期望什么作为输入? 如何将输出转换为标准HSV? (Hue = 0-360,饱和度= 0-100,值= 0-100)

1 个答案:

答案 0 :(得分:4)

  

所有这些颜色空间中的坐标都是浮点值。在YIQ空间中,Y坐标介于0和1之间,但I和Q坐标可以是正数或负数。在所有其他空格中,坐标都在0和1之间。

https://docs.python.org/3/library/colorsys.html

您必须从0到255缩放到0 - 1,或者将RGB值除以255.如果使用python 2,请确保不要进行分区。

相关问题