python - 将 hsv 转换为 rgb 并返回
问题描述
我一直在获得正确的价值观。在这个例子中,我有一个设备向我发送紫色,它发送给我的数据是:
Saturation: 68
Brightness: 100
ColorTemperature: 4049
Hue: 0
我需要将其转换为 RGB。当我尝试内置方法时:
import colorsys
hue = 0
saturation = 68
brightness = 100
colortemp = 4049
r, g, b = colorsys.hsv_to_rgb(hue, saturation, brightness)
我得到以下结果:
Red: 100 | Green: -6700.0 | Blue: -6700.0
所以我做了一些研究,发现这篇 SO 文章解释了数字必须是十进制值,并在声明时用他们的文章进行了尝试
该函数需要 s(饱和度)和 v(值)的小数,而不是百分比。除以 100。
对代码进行以下更改:
hue = 0
saturation = .68
brightness = 1.0
colortemp = 4049
结果是:
Red: 1.0 | Green: 0.32 | Blue: 0.32
或者乘以 255:
Red: 255.0 | Green: 81.6 | Blue: 81.6
那个颜色是红色的。
我究竟做错了什么?我知道,通过使用吸管来抓取颜色,RGB 的结果应该在 102、60、250 左右,但我没有接近这个值。
为了使这更加复杂,我需要在某个时候再次从 RGB 转换回 HSV。如果解决方案是因为我只是使用了不正确的值或其他东西,那么我认为转换回来的 Python 方法是正确的,但我现在只是卡住了。
解决方案
推荐阅读
- javascript - 边缘浏览器需要刷新页面才能在 aurelia 框架中使用 javascript 查看上传的文件
- angular - 如何列出表中不完整的记录列表?
- android - Android 模拟器不适用于 windows 10 pro 1803
- java - 托管在 Godaddy 中时 Java 应用程序处理速度很慢
- git - 如何解决 git 存储冲突?
- javascript - 在laravel中使用javascript将图像上传到数据库
- java - 我想要一个从java代码调用servlet的代码。我的代码如下。Servlet 没有被调用,
- oracle - 在不知道表名的情况下将变量声明为行类型时需要帮助
- python - 网页抓取图像(美丽的汤)到具有一个功能的目录中,试图将这些图像附加到另一个功能的列表中,挣扎
- elasticsearch - 混合睡眠模式下的弹性搜索 - 嵌入到应用程序中