преобразуйте значения RGB в эквивалентные значения HSV с помощью Python

Я хочу преобразовать значения 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 и наоборот

спасибо

5
задан Sreejith Sasidharan 10 April 2010 в 05:24
поделиться

2 ответа

Вы пробовали использовать библиотеку 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)
14
ответ дан 18 December 2019 в 11:55
поделиться

Какие значения R, G и B вы ввели и какие значения H, S и V, которые выглядят ошибочными, вы получили?

Код, на который вы ссылаетесь, как и colorsys, ожидает значений с плавающей запятой от 0,0 до 1,0. Если вы вызовете его с целочисленными значениями в диапазоне от 0 до 255, вы получите поддельные результаты. Он должен работать нормально, если вы дадите ему ожидаемые входные значения.

(Явный недостаток этого образца кода состоит в том, что он фактически не документирует, какие типы входных данных он ожидает.)

1
ответ дан 18 December 2019 в 11:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: