кодесурса
«Python

Python Math: преобразование цвета RGB в цвет HSV

script1adsense2code
script1adsense3code

Python Math: Упражнение 77 с решением

Напишите программу на Python для преобразования цвета RGB в цвет HSV.

Примечание. RGB - RGB (красный, зеленый, синий) описывает, какой тип света необходимо излучать для получения данного цвета. Свет складывается вместе, чтобы создать форму из тьмы. RGB хранит отдельные значения для красного, зеленого и синего. RGB - это не цветовое пространство, это цветовая модель. Есть много различных цветовых пространств RGB, полученных из этой цветовой модели, некоторые из которых показаны ниже.

HSV - (оттенок, насыщенность, значение), также известный как HSB (оттенок, насыщенность, яркость), часто используется художниками, потому что зачастую более естественно думать о цвете с точки зрения оттенка и насыщенности, чем с точки зрения добавления или субтрактивные компоненты цвета. HSV - это преобразование цветового пространства RGB, а его компоненты и колориметрия относятся к цветовому пространству RGB, из которого оно было получено.

Пример решения : -

Код Python:

def rgb_to_hsv(r, g, b):
    r, g, b = r/255.0, g/255.0, b/255.0
    mx = max(r, g, b)
    mn = min(r, g, b)
    df = mx-mn
    if mx == mn:
        h = 0
    elif mx == r:
        h = (60 * ((g-b)/df) + 360) % 360
    elif mx == g:
        h = (60 * ((b-r)/df) + 120) % 360
    elif mx == b:
        h = (60 * ((r-g)/df) + 240) % 360
    if mx == 0:
        s = 0
    else:
        s = (df/mx)*100
    v = mx*100
    return h, s, v
print(rgb_to_hsv(255, 255, 255))
print(rgb_to_hsv(0, 215, 0))

Пример вывода:

 (0, 0,0, 100,0)                                                                                               
(120,0, 100,0, 84,31372549019608)

Блок - схема:

«Блок-схема:

Визуализируйте выполнение кода Python:

Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:

Редактор кода Python:

Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Напишите программу на Python для реализации евклидова алгоритма для вычисления наибольшего общего делителя (gcd).
Далее: Напишите программу на Python, чтобы найти идеальные квадраты между двумя заданными числами.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code