Fonctions > Traitement d'image > Outils d'images couleur > Exemple : Standards de couleur des images de télévision
  
Exemple : Standards de couleur des images de télévision
Utilisez les fonctions rgb_to_yiq, rgb_to_ycbcr, yiq_to_rgb et ycbcr_to_rgb pour manipuler les couleurs des images.
Les arguments de ces fonctions sont des matrices de couleur d'une représentation et les fonctions renvoient les matrices de couleur équivalentes dans une représentation différente.
La plupart des images de couleur générées par ordinateur sont au format RVB, où chaque pixel est représenté par trois nombres : les intensité du rouge, du vert et du bleu, qui s'ajoutent ensemble pour fabriquer la couleur du pixel. Cependant, le format RVB n'est pas utilisé pour la télévision en couleur. Il existe plusieurs standards de représentation des couleurs auxquels sont appliquées une valeur de luminance ou de luminosité (symbole Y), utilisée pour les télévisions en noir et blanc, et deux valeurs de chrominance ou de couleur.
Le système visuel humain possède moins d'acuité pour la variation spatiale des couleurs que pour la luminosité. Par conséquent, au lieu d'utiliser le format RVB, il est préférable d'utiliser un canal unique pour la luminosité (luma) et deux canaux pour les informations sur les couleurs. Pour pouvoir compresser les images, nous pouvons simplement échantillonner les informations sur les couleurs, sans perdre beaucoup de qualité sensorielle. Plusieurs types de canaux peuvent être utilisés et certains des plus courants sont YIQ et YUV, où Y correspond au luma (ou luminance perçue) et où IQ et UV sont les canaux chromatiques (informations sur la couleur/luminance qui peuvent être sous-échantillonnées). L'équipement vidéo standard utilise ce type de compression, qu'il soit analogique ou numérique.
Pour plus d'informations sur l'utilisation de cet exemple, voir A propos des exemples de traitement d'image.
Transformation du format RVB en YIQ
En Amérique du Nord, le NTSC (National Television System Committee) utilise le standard appelé YIQ, qui correspond à une transformation linéaire du format RVB, comme suit :
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Vous pouvez ajuster les valeurs RGB_in et YIQ_in ci-dessus et observer quelles peuvent être les valeurs YIQ et RVB résultantes. Normalement, les valeurs RVB calculées sont arrondies à l'entier le plus proche.
rvb_en_yiq et yiq_en_rvb
Utilisez ces fonctions pour transformer une image du format RVB au format YIQ, et inversement.
1. Lisez dans une image RVB.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
(planet_ppm.bmp)
2. Convertissez l'image RVB au format YIQ puis de nouveau en RVB, puis vérifiez que l'image obtenue est identique à l'image d'origine.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
(planet_yiq_rgb.bmp)
Standard de télévision numérique CCIR 601
Le standard CCIR 601 enregistre les images au format YCbCr. Ce format correspond à une transformation linéaire du format RVB avec une plage de sortie plus homogène.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Vous pouvez ajuster les valeurs RGB_in et YCbCr_in ci-dessus et visualiser le résultat aux formats YCbCr et RVB. Normalement, les valeurs YCbCr et RVB sont arrondies à l'entier le plus proche.
Les valeurs de RVB vont de 0 à 255, celles de Y vont de 16 à 235, et celles de Cb et Cr vont de 16 à 240 (les valeurs extrêmes de la plage sont utilisées à d'autres fins dans le signal).
rgb_to_ycbcr et ycbcr_to_rgb
Utilisez ces fonctions pour transformer les matrices d'images RVB en format YCbCr, et inversement.
Convertissez l'image RVB d'origine en image YCbCr, puis de nouveau en RVB, puis vérifiez que l'image obtenue est identique à l'image d'origine.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
(planet_rgb_ycbcr.bmp)
(planet_ycbcr_rgb.bmp)