Python 将hsv转换为rgb并返回

Python 将hsv转换为rgb并返回,python,color-space,Python,Color Space,我花了很长时间才得到正确的值。在本例中,我有一台设备向我发送紫色,它发送给我的数据是: 饱和度:68 亮度:100 色温:4049 色调:0 我需要把它转换成RGB。当我尝试内置方法时: import colorsys hue = 0 saturation = 68 brightness = 100 colortemp = 4049 r, g, b = colorsys.hsv_to_rgb(hue, saturation, brightness) 我得到的结果是: 红色:100 |绿色

我花了很长时间才得到正确的值。在本例中,我有一台设备向我发送紫色,它发送给我的数据是:

饱和度:68 亮度:100 色温:4049 色调:0 我需要把它转换成RGB。当我尝试内置方法时:

import colorsys

hue = 0
saturation = 68
brightness = 100
colortemp = 4049

r, g, b = colorsys.hsv_to_rgb(hue, saturation, brightness)
我得到的结果是:

红色:100 |绿色:-6700.0 |蓝色:-6700.0
所以我做了一些研究,发现这解释了数字必须是十进制值,并尝试用它们的书写,当它被声明为

该函数要求s(饱和度)和v(值)为十进制,而不是百分比。除以100

对代码进行以下更改:

hue=0
饱和度=.68
亮度=1.0
colortemp=4049
结果:

红色:1.0 |绿色:0.32 |蓝色:0.32
或乘以255:

Red: 255.0 | Green: 81.6 | Blue: 81.6
那颜色是红色的

我做错了什么?我知道,通过使用滴管捕捉颜色,RGB的结果应该是102、60、250左右,但我没有接近这个值


为了使这更复杂,我需要在某个时候,从RGB转换回HSV再次。如果解决方案是因为我只是使用了不正确的值或其他东西,那么我假设转换回的Python方法是正确的,但我现在陷入了困境。

我认为您的设备向您发送了不正确的信息。您为HSV提供的值为红色


我认为您的设备向您发送的信息不正确。当我输入你提供的HSV值时,我也会得到一个浅红色谢谢,我也很好奇,用一个程序手动输入HSV,结果是一样的。实际上是Homebridge/HomeKit发送了这些值,所以我必须试着弄清楚为什么会这么差
hue=0
始终是纯红色。我也在想同样的问题,并像你一样在Photoshop中调出它,得到了同样的结果。我不知道为什么我没有早些测试。它来自Homebridge/HomeKit,所以我不知道为什么会发送如此奇怪的值。@C4W不确定,但至少您肯定知道您正在正确转换它们提供的值!英雄联盟是的,事实上,我在这方面浪费了太多时间,甚至没有像noob一样测试源代码值。我想时间的流逝就是我付出的代价。谢谢你的回答!