Я хочу преобразовать значения RGB в HSV использование Python. Я получил некоторые примеры кода, которые дали результат с S и V значениями, больше, чем 100. (пример: http://code.activestate.com/recipes/576554-covert-color-space-from-hsv-to-rgb-and-rgb-to-hsv/). кто-либо получил лучший код, которые преобразовывают RGB в HSV и наоборот
спасибо
Вы пробовали использовать библиотеку colorsys ?
Модуль colorsys определяет двунаправленное преобразование цвета {{ 1}} значения между цветами, выраженными в цветовом пространстве RGB (красный, зеленый, синий), используемом в компьютерных мониторах, и в трех других системах координат: YIQ, HLS (Hue {{1 }} Lightness Saturation) и HSV (Hue Saturation Value)
Пример (взят из приведенной выше ссылки):
>>> import colorsys
>>> colorsys.rgb_to_hsv(.3, .4, .2)
(0.25, 0.5, 0.4)
>>> colorsys.hsv_to_rgb(0.25, 0.5, 0.4)
(0.3, 0.4, 0.2)
Какие значения R, G и B вы ввели и какие значения H, S и V, которые выглядят ошибочными, вы получили?
Код, на который вы ссылаетесь, как и colorsys, ожидает значений с плавающей запятой от 0,0 до 1,0. Если вы вызовете его с целочисленными значениями в диапазоне от 0 до 255, вы получите поддельные результаты. Он должен работать нормально, если вы дадите ему ожидаемые входные значения.
(Явный недостаток этого образца кода состоит в том, что он фактически не документирует, какие типы входных данных он ожидает.)