je vais vous proposer les équations mathématiques pour passer d 'un espace de couleur ( souvent le RGB ) vers un autres espace ...
on note (Rn, Gn ,Bn) les composantes normalisées du vecteur (R,G,B) ie
RGB-->CMYRn = R/(R+G+B)
Gn = G/(R+G+B)
Bn = B/(R+G+B)
l'espace CMY ou parfois CMYK ( cyan , magenta , yellow (jaune) , Black (noir)) est utile pour l'impression ...
ainsi on remarque que le cyan ne contient pas de rouge et le magenta ne contient pas de vert !!!C= 1- Rn
M=1-Gn
Y=1-Bn
RGB-->NTSC
NTSC ou YIQ (Luminance , Hue , saturation )
pour une image au niveau de gris on aura I=Q=0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 |Y| | 0.299 0.587 0.114 | | R | |I |= | 0.596 -0.274 -0.322| | G | |Q| | 0.211 -0.523 0.312| | B |
RGB -- >YCbCr
Y ( luminance ) Cb et Cr est l'information sur la couleur
HSVY= 16 + 65.481 R + 128.553 G + 24.966 B
Cb= 128 - 37.797 R - 74.203 G + 112 B
Cr= 128 + 112 R - 93.786 G - 18.214 B
mais pour R=G=B, H n'est pas défini d'où la conversion suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 H = tan[3(G-B)/(2R-G-B)] V= ( R+G+B )/3 S = 1- (min(R,G,B)/V)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 V= max (Rn,Gn,Bn) si V=0 alors S=0 et H =0 sinon S = V - ( min (Rn,Gn,Bn) / V) pour le calcul de H si S=0 alors H=0 si V = Rn alors H = 60 * (Gn-Bn)/SV si V = Gn alors H = 60 *( 2+((Bn-Rn)/SV) Si V = Bn alors H = 60 * (4 + ((Rn-Gn)/SV) Si H<0 alors H= H+360
Partager