RGB to HSV and HSV to RGB

by mingoto

Página Dinâmica para Aprendizado do Sensoriamento Remoto

Transformação RGB => HSV

Seja uma cor definida por RGB, onde R, G e B estão entre 0 e 1, onde estes valores correspondem, respectivamente, ao maior e ao menor valor possível para cada. A transformação para os parâmetros (H, S, V) dessa cor pode ser determinada pelas fórmulas abaixo.

Seja MAX e MIN os valores máximo e mínimo, respectivamente, dos valores (R, G, B):

Os resultados dão a tonalidade variando de 0º a 360º, indicando o ângulo no círculo onde a tonalidade (H) está definido, e a saturação e o brilho variando de 0 a 1, representando o menor e o maior valor possível.

Fonte: SOUTO, 2000

Transformação HSV => RGB

Seja uma cor definida por HSV, onde H, varia de 0º a 360º, informando o ângulo, em graus, no círculo onde este parâmetro está definido, e com S e V variando de 0 a 1. A transformação para os parâmetros (R, G, B) desta cor podem ser calculados conforme a formulação abaixo:

Primeiramente, se S = 0, o resultado será cinza. Para esse caso, os valores de R, G e B são iguais a V e, o valor de H é irrelevante. Para S diferente de zero, as equações abaixo são aplicáveis:

essas equações fornecem R, G e B variando de 0 a 1.

Fonte: SOUTO, 2000

source: http://www6.ufrgs.br/engcart/PDASR/formulario1.html