194 views
--- title: INFO911 (3b) Espaces colorimétriques type: slide slideOptions: transition: slide progress: true slideNumber: true --- # Espaces colorimétriques ## (Traitement et Analyse d'Image 3b) > [name=Jacques-Olivier Lachaud][time=Novembre 2020][color=#907bf7] > (Les images peuvent être soumises à des droits d'auteur. Elles sont utilisées ici exclusivement dans un but pédagogique) ###### tags: `info911` Retour à [INFO911 (Main) Traitement et analyse d'image](https://codimd.math.cnrs.fr/s/UE_B59gMy) --- # Espaces colorimétriques ### Différents espaces pour différents usages ==Espaces de référence== : CIE RGB, CIE XYZ, CIE xy, CIELUV, CIELAB ==Synthèse additive== : RGB, HSV, HLS (affichage écran) ==Synthèse soustractive== : CMY, CMYK (impression) ==Autres espaces== : YUV, Y'UV, Y'DbDr (vidéo) --- # Espace CIE XYZ (1) ## Modélise la perception des couleurs dans un espace 3D Choix de trois vecteurs 3D $\{P_1\}$, $\{P_2\}$, $\{P_3\}$, couleurs mono-chromatiques Couleur $\{C\}=C_1 \cdot \{P_1\} + C_2 \cdot \{P_2\} + C_3 \cdot \{P_3\}$ Pour longueur d'onde $\lambda$, $\{P_\lambda\} = c_1(\lambda) \cdot \{P_1\} + c_2(\lambda) \cdot \{P_2\} + c_3(\lambda) \cdot \{P_3\}$ $c_1(\lambda), c_2(\lambda), c_3(\lambda)$ déterminés empiriquement par observateurs Couleur $\{C\}=\int_{\Lambda} f(\lambda) \cdot \{P_\lambda\}d\lambda$ superposition de couleurs mono-chromatiques $\{C\} = \underbrace{\int_{\Lambda} f(\lambda)c_1(\lambda)d\lambda}_{C_1} \cdot \{P_1\}+ \underbrace{\int_{\Lambda} f(\lambda)c_2(\lambda)d\lambda}_{C_2} \cdot \{P_2\}+ \underbrace{\int_{\Lambda} f(\lambda)c_3(\lambda)d\lambda}_{C_3} \cdot \{P_3\}$ --- # Espace CIE XYZ (2) | ![CIExyz](https://codimd.math.cnrs.fr/uploads/upload_a176d053c15a79b1f63508fc03d270e3.png =x150) | ![CIE xy](https://codimd.math.cnrs.fr/uploads/upload_1e602f9b1b5dc315a050de064b05fb5f.png =x150) | |:------------------------------------------------------------------------------------------------:|:---:| | Choix des $c_1(\lambda),c_2(\lambda),c_3(\lambda)$ | diagramme CIE (x,y), Y luminance | $\{X\}$, $\{Y\}$, $\{Z\}$ couleurs virtuelles (garantissent >=0), $\{Y\}$ est la luminance $x=\frac{X}{X+Y+Z}$, $y=\frac{Y}{X+Y+Z}$, $z=\frac{Z}{X+Y+Z}$, du coup $z=1-x-y$ Inversement $(X,Y,Z)=(\frac{x}{y}Y,Y, \frac{1-x-y}{y}Y)$ --- # Espace CIELAB ou (CIE L\*a\*b\*) ## Un espace pour mesurer les distances entre couleurs | ![LABXYZ](https://codimd.math.cnrs.fr/uploads/upload_0af073a35f2cc2504f317a1773b8d9ce.png =x70) | ![CIELAB](https://codimd.math.cnrs.fr/uploads/upload_02d09befedfbc6ad22cb3ff1e8b28a3a.png =x150) | | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ![DISTLAB](https://codimd.math.cnrs.fr/uploads/upload_aa54722ef18d7603b5bfbd9f562d7970.png =x40) Autres espaces L\*u\*v\*, U'V'W' fondés sur les mêmes principes --- # Espace sRGB (Synthèse additive) 3 composantes R, G, B, Addition de trois lumières rouge, vert, bleu $\{C\} = R \cdot \{rouge\} + G \cdot \{vert\} + B \cdot \{bleu\}$, Lum=0,299R+0,587G+0,114B | ![](https://codimd.math.cnrs.fr/uploads/upload_1be241d4f736ac3bb6cf82c6490cc47d.png =x100) | ![Gamut sRGB](https://codimd.math.cnrs.fr/uploads/upload_8f511f134e654448aaee0d81e2d7f508.png =x200) | ![RGB](https://codimd.math.cnrs.fr/uploads/upload_ef6a6e5b13826be38d15a80a77fa6cb3.png =x150) | | -------- | -------- | -------- | | lumières mono-chromatiques | Gamut sRGB | Espace sRGB | --- # Espace HSV (Synthèse additive) ![HSV](https://codimd.math.cnrs.fr/uploads/upload_666b84b5f0db77ec9fa0168d796b250f.png) Hue: teinte en dégrés, 0°=rouge, 60°=jaune, etc Saturation: saturation ou pureté de la couleur, entre 0 et 1 Value: brillance de la couleur, entre 0 et 1 [Conversion de couleurs dans OpenCV](https://docs.opencv.org/master/de/d25/imgproc_color_conversions.html#color_convert_rgb_gray) --- # Espace HSL (Synthèse additive) ![HLS](https://codimd.math.cnrs.fr/uploads/upload_c03f3da621da36d8240f4037d1c6f72e.png) Hue: teinte en dégrés, 0°=rouge, 60°=jaune, etc Saturation: saturation ou pureté de la couleur, entre 0 et 1 Luminosity: position entre le noir et le blanc, entre 0 et 1 [Conversion de couleurs dans OpenCV](https://docs.opencv.org/master/de/d25/imgproc_color_conversions.html#color_convert_rgb_gray) `video-rubik` --- # Espace CMYK (Synthèse soustractive) | ![Gamut-CMYK](https://codimd.math.cnrs.fr/uploads/upload_7b091f761241510242a31fe987ab1e03.png =x140) | ![](https://codimd.math.cnrs.fr/uploads/upload_8ddc5688ac92da03d8c4d834e16cc7a2.png =x90) | ![](https://codimd.math.cnrs.fr/uploads/upload_918628cc9564c2a22758a2f828a46cc8.png =x90) | | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | | Gamut | Image | Quadrichromie | Conversion (c,m,y) := (1-R, 1-G, 1-B) Extration du noir k = min(c,m,y) Correction des couleurs (C,M,Y,K) = (c-k, m-k, y-k, k) --- # Impression par quadrichromie Impossible d'atténuer une encre ! On met ou ne met pas d'encre. | ![trame_quadri](https://codimd.math.cnrs.fr/uploads/upload_544f027e244db9f438cde51a4a2bd209.jpg =x150) | ![ex-quadri](https://codimd.math.cnrs.fr/uploads/upload_3144bf06825c484ae01fdcde46c397f5.jpg =x150) | | -------- | -------- | | rayons dépendent de c,m,y,k | finesse d'impression | `video-tramage` --- # Quizz - Une couleur existe-t-elle sans un observateur ? - Peut-on montrer mathématiquement qu'il existe des couleurs métamères ? - Qu'est-ce que le Daltonisme ? - Est-on sensible de la même façon aux variations de bleu, de rouge ou de vert ? - Peut-on s'en servir pour compresser les images couleur ? - Donnez un exemple d'image qui a plus de trois canaux - Y a-t-il des animaux qui peuvent voir plus de canaux que l'homme ? - Pourquoi ne fait-on pas des écrans avec plus de 3 canaux de couleurs ? --- # Quizz (2) Canaux codés en hexadécimal sur 1 octet, 00 à FF ```graphviz digraph hierarchy { rankdir="LR" nodesep=1.0 // increases the separation between nodes node [color=Red,fontname=Courier,shape=box,fillcolor="#f08020",style=filled] //All nodes will this shape and colour edge [color=Blue, style=dashed] //All the lines look like this RGB [label="RGB=F0,80,20"] CMYK [label="CMYK ?"] RGB -> CMYK CMYK2 [label="CMYK=A0,00,60,20",shape=box,fillcolor="#20d070"] RGB2 [label="RGB?",shape=box,fillcolor="#20d070"] CMYK2 -> RGB2 } ```