« Utilisateur:Bercier/changementprimairesexple » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
|||
Ligne 1 :
{{Annexe
| idfaculté = physique
| niveau = 16
| numéro = 3
| précédent = [[../Fonctions colorimétriques normalisées/]]
| suivant = [[../Détermination des fonctions colorimétriques/]]
}}
Dans divers cas rencontrés en pratique, on peut être amené à vouloir modifier les primaires utilisées. Ce fut historiquement le cas de Guild et de Wright lorsqu’il a fallu qu'ils confrontent leurs résultats obtenus avec deux systèmes de primaires différents.
L'exemple des calculs effectué à partir des résultats de Wright sont donnés à titre d’exemple. Dans ce cas précis, ce sont les coordonnées du lieu du spectre qui ont été mesurées. Il faut donc arriver à obtenir les coordonnées du spectrum locus avec le nouveau jeu de primaires.
Dans cette annexe, les calculs seront démontrés de façon plus générale avec les composantes de n'importe quelle couleur. Les coordonnées (et à fortiori celles du lieu du spectre) initiales pourront être utilisées à la place des composantes, car elles leur sont proportionnelles, et c'est suffisant pour calculer de nouvelles composantes, qui permettront à leur tour de calculer les nouvelles coordonnées.
Les coordonnées du lieu du spectre permettent ensuite, connaissant le blanc de référence, de calculer les fonctions colorimétriques du système de primaires comme expliqué dans l'[[../Détermination des fonctions colorimétriques|annexe n°4]]. On peut ensuite être amené à modifier le blanc de référence, il faut alors corriger les fonctions colorimétriques en utilisant la méthode décrite en fin d'[[../Détermination des fonctions colorimétriques#Changement de blanc de référence|annexe n°4]].
== Changement de proportions des primaires ==
Dans certains cas, il faut modifier les proportions des primaires d'un système afin de se trouver dans un système où le blanc est décrit de façon plus favorable. Comme nous le verrons dans l'exemple, ce fut le cas de la première transformation que Wright dû faire pour obtenir des composantes égales pour le blanc de référence.
:{| class="wikitable" style="align:center; text-align:center; width:80%;"
|-
! scope=row rowspan=2| Système de
! scope=row | Couleurs
! scope=col |Rouge
! scope=col |Vert
! scope=col |Bleu
! scope=col |Blanc
|-
! scope=row | Composantes pour égaliser le blanc
|<math>\scriptstyle
|<math>\scriptstyle
|<math>\scriptstyle
|1
|-
! scope=row rowspan=2| Système de
! scope=row | Couleurs
! scope=col |Rouge
! scope=col |Vert
! scope=col |Bleu
! scope=col |Blanc
|-
! scope=row | Composantes pour égaliser le blanc
|<math>\scriptstyle
|<math>\scriptstyle
|<math>\scriptstyle
|1
|}
Les primaires gardent la même chrominance mais on change simplement leur luminance, ce qui a pour effet de modifier les composantes pour toutes les couleurs.
:<math> \{R_2\}\equiv k_{r} \cdot \{R_1\} \ ; \ \{G_2\}\equiv k_{g} \cdot \{G_1\} \ , \ \{B_2\}\equiv k_{b} \cdot \{B_1\}</math>
Ecrit sous forme matricielle, on obtient :
:<math>
\begin{pmatrix} \{R_2\} \\ \{G_2\} \\ \{B_2\} \end{pmatrix}
\equiv
\begin{pmatrix}
0
0
\end{pmatrix}
\times
\begin{pmatrix}\{R_1\} \\ \{G_1\} \\\{B_1\} \end{pmatrix}
=
\mathbf {D_k} \times
\begin{pmatrix}\{R_1\} \\ \{G_1\} \\\{B_1\} \end{pmatrix} .</math>
=== Correspondance du blanc de référence ===
L'égalisation du blanc de référence impose :
:{|
|-
|<math> \{W\}</math>
|<math>\equiv R_{1W} \cdot \{R_1\}+G_{1W} \cdot \{G_1\}+B_{1W} \cdot \{B_1\}</math>
|-
|
|<math>\equiv R_{2W} \cdot \{R_2\}+G_{2W} \cdot \{G_2\}+B_{2W} \cdot \{B_2\}</math>
|-
|
|<math>\equiv k_{r} \cdot R_{2W} \cdot \{R_1\}+k_{g} \cdot G_{2W} \cdot \{G_1\}+ k_{b} \cdot B_{2W} \cdot \{B_1\} .</math>
|}
Par identification, on peut calculer les coefficients ''k'' :
:<math>k_{r} = \frac{R_{1W}}{R_{2W}} \ ; \ k_{g} = \frac{G_{1W}}{G_{2W}} \ ; \ k_{b} = \frac{B_{1W}}{B_{2W}} .</math>
=== Correspondance pour les autres couleurs ===
{{Démonstration déroulante
| titre = Démonstration
| dérouler = Voir
| enrouler = Cacher
| visible = non
| contenu =
Pour n'importe quelle autre couleur, il faut respecter :
:<math> \{C\}
\equiv
R_{1} \cdot \{R_1\}+ G_{1} \cdot \{G_1\}+ B_{1} \cdot\{B_1\}
\equiv
\begin{pmatrix}
R_{1
\end{pmatrix}
\times
\begin{pmatrix}\{R_1\} \\ \{G_1\} \\\{B_1\} \end{pmatrix} ,</math>
:<math> \{C\}
\equiv
R_{2} \cdot \{R_2\}+ G_{2} \cdot \{G_2\}+ B_{2} \cdot \{B_2\}
\equiv
\begin{pmatrix}
R_{2} & G_{2} & B_{2}
\end{pmatrix}
\times
\begin{pmatrix}
:<math> \{C\}
\equiv
\begin{pmatrix}
R_{2} & G_{2} & B_{2}
\end{pmatrix}
\times
\begin{pmatrix}
k_{r} & 0 & 0 \\
0 & k_{g} & 0 \\
0 & 0 & k_{b}
\end{pmatrix}
\times
\begin{pmatrix}\{R_1\} \\ \{G_1\} \\\{B_1\} \end{pmatrix}
\equiv
\begin{pmatrix}
R_{2} & G_{2} & B_{2}
\end{pmatrix}
\times
\mathbf {D_k}
\times
\begin{pmatrix}\{R_1\} \\ \{G_1\} \\\{B_1\} \end{pmatrix} .
</math>
D'après les relations sur les matrices :
:<math>{}^{t}(\mathbf A \times\mathbf B)= {}^{t}\mathbf B \times{}^{t}\mathbf A ,
</math>
on obtient la relation qui lie les composantes des deux systèmes :
:<math>
\begin{pmatrix}
R_{1} \\ G_{1} \\ B_{1}
\end{pmatrix}
=
\mathbf {D_k}
\times
\begin{pmatrix}
R_{2} \\ G_{2} \\ B_{2}
\end{pmatrix}
\Leftrightarrow
\begin{pmatrix}
R_{2} \\ G_{2} \\ B_{2}
\end{pmatrix}
=
\mathbf {D_k}^{-1}
\times
\begin{pmatrix}
R_{1} \\ G_{1} \\ B_{1}
\end{pmatrix} .
</math>
}}
Connaissant les coefficients ''k'' on peut retrouver les nouvelles composantes à partir des anciennes :
:<math>
\begin{pmatrix}
R_{2} \\ G_{2} \\ B_{2}
\end{pmatrix}
=
\begin{pmatrix}
\frac{1}{k_{r}} \cdot R_{1} \\ \frac{1}{k_{g}} \cdot G_{1} \\ \frac{1}{k_{b}} \cdot B_{1}
\end{pmatrix} .
</math>
On utilisant la somme des composantes, on retrouve les coordonnées pour n'importe quelle couleur (et en particulier pour les couleurs pures correspondant au spectrum locus) :
:<math>S_2=\frac{R_1}{k_r}+\frac{G_1}{k_g}+\frac{B_1}{k_b} \ \Rightarrow \ r_2 = \frac{R_2}{S_2} \ ; \ g_2 = \frac{G_2}{S_2} \ ; \ b_2 = \frac{B_2}{S_2}</math>
=== Exemple ===
Ligne 157 ⟶ 259 :
Wright dut ensuite procéder à une seconde correction en opérant un changement de primaires pour respecter les primaires NPL qui seront définitivement choisies comme étant les primaires du système CIE RGB 1931.
{{BDfin}}
== Changement de primaires ==
Pour de multiples applications, on peut être amené à changer complètement les primaires utilisées. Dans le cas étudié ici, on connaît les composantes (à un facteur près) qui permettent d'égaliser les nouvelles primaires. On conservera les mêmes composantes pour le blanc de référence dans les deux systèmes, en général, on prend ''A'' = 1.
:{| class="wikitable" style="align:center; text-align:center; width:80%;"
|-
! scope=row rowspan=2| Système de couleurs 3
! scope=row | Couleurs 3
! scope=col |Rouge <math>\scriptstyle \{R_3\}</math>
! scope=col |Vert <math>\scriptstyle \{G_3\}</math>
! scope=col |Bleu <math>\scriptstyle \{B_3\}</math>
! scope=col |Blanc <math>\scriptstyle \{W\}</math>
|-
! scope=row | Composantes pour égaliser le blanc
|<math>\scriptstyle A</math>
|<math>\scriptstyle A</math>
|<math>\scriptstyle A</math>
|1
|-
! scope=row rowspan=2| Système de couleurs 4
! scope=row | Couleurs 4
! scope=col |Rouge <math>\scriptstyle \{R_4\}</math>
! scope=col |Vert <math>\scriptstyle \{G_4\}</math>
! scope=col |Bleu <math>\scriptstyle \{B_4\}</math>
! scope=col |Blanc <math>\scriptstyle \{W\}</math>
|-
! scope=row | Composantes pour égaliser le blanc
|<math>\scriptstyle A</math>
|<math>\scriptstyle A</math>
|<math>\scriptstyle A</math>
|1
|}
L'égalisation des nouvelles primaires peut alors être mesurée à un facteur près, ce qui impose :
:<math> \{R_4\}\equiv k_{r} \cdot \left( R_{R4}\cdot \{R_3\}+G_{R4}\cdot \{G_3\}+B_{R4}\cdot \{B_3\} \right) \ ;</math>
:<math> \{G_4\}\equiv k_{g} \cdot \left(R_{G4}\cdot \{R_3\}+G_{G4}\cdot \{G_3\}+B_{G4}\cdot \{B_3\} \right) \ ;</math>
:<math> \{B_4\}\equiv k_{b} \cdot \left(R_{B4}\cdot \{R_3\}+G_{B4}\cdot \{G_3\}+B_{B4}\cdot \{B_3\} \right) .</math>
On peut également écrire ces trois relations sous forme matricielle :
:<math>
\begin{pmatrix} \{R_4\} \\ \{G_4\} \\ \{B_4\} \end{pmatrix}
\equiv
\begin{pmatrix}
k_{r} & 0 & 0 \\
0 & k_{g} & 0 \\
0 & 0 & k_{b}
\end{pmatrix}
\times
\begin{pmatrix}
R_{R4} & G_{R4} & B_{R4} \\
R_{G4} & G_{G4} & B_{G4} \\
R_{B4} & G_{B4} & B_{B4}
\end{pmatrix}
\times
\begin{pmatrix}\{R_3\} \\ \{G_3\} \\\{B_3\} \end{pmatrix}
=
\mathbf {D_k} \times
\mathbf N \times
\begin{pmatrix}\{R_3\} \\ \{G_3\} \\\{B_3\} \end{pmatrix} .</math>
Il faut tout d'abord déterminer les coefficients k inconnus.
=== Correspondance du blanc de référence ===
L'égalisation du blanc de référence impose :
:<math> \{W\}\equiv A\cdot \{R_3\}+A\cdot \{G_3\}+A\cdot \{B_3\} \equiv A\cdot \{R_4\}+A\cdot \{G_4\}+A\cdot \{B_4\}</math>
{{BDdebut
| titre = Démonstration
| dérouler = Voir
| enrouler = Cacher
| visible = non
| couleur = #FFCCCC
}}
Les composantes étant toutes égales, on simplifie :
:<math>\{R_3\}+\{G_3\}+\{B_3\} \equiv\{R_4\}+\{G_4\}+\{B_4\}. </math>
En écrivant la relation sous forme matricielle, on obtient :
:{|
|-
|<math>
\begin{pmatrix}
1 & 1 & 1
\end{pmatrix}
\times
\begin{pmatrix}\{R_3\} \\ \{G_3\} \\\{B_3\} \end{pmatrix}</math>
|<math>\equiv
\begin{pmatrix}
1 & 1 & 1
\end{pmatrix}
\times
\begin{pmatrix}\{R_4\} \\ \{G_4\} \\\{B_4\} \end{pmatrix}</math>
|-
|
|<math>\equiv
\begin{pmatrix}
1 & 1 & 1
\end{pmatrix}
\times
\mathbf {D_k}
\times
\mathbf N
\times
\begin{pmatrix}\{R_3\} \\ \{G_3\} \\\{B_3\} \end{pmatrix}</math>
|-
|
|<math>\equiv
\begin{pmatrix}
k_{r} & k_{g} & k_{b}
\end{pmatrix}
\times
\mathbf N
\times
\begin{pmatrix}\{R_3\} \\ \{G_3\} \\\{B_3\} \end{pmatrix} .
</math>
|}
D'après les relations sur les matrices :
:<math>{}^{t}(\mathbf A \times\mathbf B)= {}^{t}\mathbf B \times{}^{t}\mathbf A
</math>
On peut écrire la relation qui permet de trouver les coefficients k sous forme matricielle :
:<math>
\begin{pmatrix} 1 \\ 1 \\ 1 \end{pmatrix} =
{}^{t}\mathbf N \times
\begin{pmatrix} k_{r} \\ k_{g} \\ k_{b} \end{pmatrix}
</math>
{{BDfin}}
La valeur de coefficients k peut se calculer à l'aide la matrice inverse transposée :
:<math>\begin{pmatrix} k_{r} \\ k_{g} \\ k_{b} \end{pmatrix} = {}^{t} \mathbf N^{-1}\times \begin{pmatrix} 1 \\ 1 \\ 1 \end{pmatrix} .</math>
=== Correspondance pour les autres couleurs ===
En procédant de la même manière avec l'égalisation d'une couleur quelconque, on obtient les relations entre les composantes et les cordonnées dans les deux systèmes.
{{Démonstration déroulante
| titre = Démonstration
| dérouler = Voir
| enrouler = Cacher
| visible = non
| contenu =
Pour n'importe qu'elle autre couleur, il faut respecter :
:<math> \{C\}
\equiv
R_{3} \cdot \{R_3\}+ G_{3} \cdot \{G_3\}+ B_{3} \cdot \{B_3\}
\equiv
\begin{pmatrix}
R_{3} & G_{3} & B_{3}
\end{pmatrix}
\cdot
\begin{pmatrix}\{R_3\} \\ \{G_3\} \\\{B_3\} \end{pmatrix},</math>
:<math> \{C\}
\equiv
R_{4} \cdot \{R_4\}+ G_{4} \cdot \{G_4\}+ B_{4} \cdot \{B_4\}
\equiv
\begin{pmatrix}
R_{4} & G_{4} & B_{4}
\end{pmatrix}
\cdot
\begin{pmatrix}\{R_4\} \\ \{G_4\} \\\{B_4\} \end{pmatrix},</math>
:<math>\{C\}
\equiv \begin{pmatrix}
R_{4} & G_{4} & B_{4}
\end{pmatrix} \times\mathbf {D_k} \times
\mathbf N \times\begin{pmatrix}\{R_3\} \\ \{G_3\} \\\{B_3\} \end{pmatrix}.</math>
On obtient ainsi les relations entres les composantes des deux systèmes :
:<math> \begin{pmatrix}
R_{3} & G_{3} & B_{3}
\end{pmatrix}
=
\begin{pmatrix}
R_{4} & G_{4} & B_{4}
\end{pmatrix} \times\mathbf {D_k} \times
\mathbf N,</math>
:<math>
\begin{pmatrix}
R_{3} \\ G_{3} \\ B_{3}
\end{pmatrix}
=
{}^t \mathbf N \times
\mathbf {D_k} \times
\begin{pmatrix}
R_{4} \\ G_{4} \\ B_{4}
\end{pmatrix}.</math>
}}
On obtient les nouvelles composantes à partir des anciennes :
:<math>
\begin{pmatrix}
R_{4} \\ G_{4} \\ B_{4}
\end{pmatrix} =
\mathbf {D_k}^{-1}
\times
{}^t \mathbf N^{-1}
\times
\begin{pmatrix}
R_{3} \\ G_{3} \\ B_{3}
\end{pmatrix}.
</math>
Dans la plupart des cas, on part des coordonnées <math>\scriptstyle r_{3}</math>, <math>\scriptstyle g_{3}</math> et <math>\scriptstyle b_{3}</math> de la couleur et on cherche <math>\scriptstyle r_{4}</math>, <math>\scriptstyle g_{4}</math> et <math>\scriptstyle b_{4}</math>. Les coordonnées <math>\scriptstyle r_{3}</math>, <math>\scriptstyle g_{3}</math> et <math>\scriptstyle b_{3}</math> sont proportionnelles aux composantes, on peut donc les utiliser à la place des composantes. Il suffit alors dans le calcul ci-dessus de diviser les composantes par la somme des composantes <math>\scriptstyle S_{4} = R_{4} + G_{4} + B_{4}</math> que l'on peut également calculer :
:<math> S_{4} = R_{4} + G_{4} + B_{4}
=
\begin{pmatrix} 1 & 1 & 1 \end{pmatrix}
\times
\mathbf {D_k}^{-1}
\times {}^t \mathbf N^{-1} \times \begin{pmatrix} R_{3} \\ G_{3} \\ B_{3} \end{pmatrix}
=
\begin{pmatrix}
\tfrac {1}{k_{r}} & \tfrac {1}{k_{r}} & \tfrac {1}{k_{r}}
\end{pmatrix}
\times {}^t \mathbf N^{-1} \times \begin{pmatrix} R_{3} \\ G_{3} \\ B_{3} \end{pmatrix}.
</math>
Ainsi on retrouve les relations entre les coordonnées :
:<math> \begin{pmatrix} r_{4} \\ g_{4} \\ b_{4} \end{pmatrix}
= \frac{1}{S_{4}} \cdot \begin{pmatrix}
R_{4} \\ G_{4} \\ B_{4}
\end{pmatrix} =
\frac{1}{S_{4}} \cdot
\mathbf {D_k}^{-1}
\times
{}^t \mathbf N^{-1}
\times
\begin{pmatrix}
r_{3} \\ g_{3} \\ b_{3}
\end{pmatrix}.
</math>
=== Exemple ===
{{BDdébut
| titre = Passage des primaires expérimentales de Wright aux primaires CIE RGB
| dérouler = Voir l'exemple
| enrouler = Cacher
| couleur = #DBDEFE
}}
Un des calculs effectués par Wright (et plus tard de la même manière par Guild) permit de passer des primaires expérimentales (monochromatiques de longueurs d'onde 650 nm, 530 nm et 460 nm) aux primaires recommandées par le NPL, qui sont les actuelles primaires du système [[Colorimétrie/CIE RGB 1931|CIE RGB 1931]].
:{| class="wikitable" style="align:center; text-align:center; width:80%;"
|-
! scope=row rowspan=2| Système de primaires expérimentales
! scope=row | Couleurs 3
! scope=col |Rouge 650 nm
! scope=col |Vert 530 nm
! scope=col |Bleu 460 nm
! scope=col |Blanc NPL
|-
! scope=row | Composantes pour égaliser le blanc
|<math>\scriptstyle \tfrac{1}{3}</math>
|<math>\scriptstyle \tfrac{1}{3}</math>
|<math>\scriptstyle \tfrac{1}{3}</math>
|1
|-
! scope=row rowspan=2| Système de primaires CIE RGB
! scope=row | Couleurs 4
! scope=col |Rouge 700,0 nm
! scope=col |Vert 546,1 nm
! scope=col |Bleu 435,8 nm
! scope=col |Blanc NPL
|-
! scope=row | Composantes pour égaliser le blanc
|<math>\scriptstyle \tfrac{1}{3}</math>
|<math>\scriptstyle \tfrac{1}{3}</math>
|<math>\scriptstyle \tfrac{1}{3}</math>
|1
|}
Les nouvelles primaires peuvent être égalisées par les anciennes de la façon suivante (les valeurs ont été vérifiée a posteriori par Broadbent pour que les résultats finaux correspondent au mieux aux publications CIE 1931) :
:<math> \{R_4\}\equiv k_{r} \cdot \left(1,0150 \cdot \{R_3\}+0,0150 \cdot \{G_3\}+0,0000 \cdot \{B_3\}\right) \ ;</math>
:<math> \{G_4\}\equiv k_{g} \cdot \left(0,1938 \cdot \{R_3\}+0,8337 \cdot \{G_3\}-0,0275 \cdot \{B_3\}\right) \ ;</math>
:<math> \{B_4\}\equiv k_{b} \cdot \left(0,0407 \cdot \{R_3\}-0,0412 \cdot \{G_3\}+1,0050 \cdot \{B_3\}\right) .</math>
Autrement écrit :
:<math>\mathbf N =
\begin{pmatrix}
1,0150 & 0,0150 & 0,0000 \\
0,1938 & 0,8337 & -0,0275 \\
0,0407 & -0,0412 & 1,0050
\end{pmatrix}</math>
En appliquant les relations démontrées plus haut :
:<math>\begin{pmatrix} k_{r} \\ k_{g} \\ k_{b} \end{pmatrix} = \begin{pmatrix} 0,7026 \\ 1,2632 \\ 1,0342 \end{pmatrix} .</math>
Puis on retrouve également :
:<math>
\begin{pmatrix} R_{4} \\ G_{4} \\\ B_{4} \end{pmatrix}
=
\begin{pmatrix}
1,3975 & 0,0140 & 0,0005 \\
-0,3272 & 0,9475 & 0,0318 \\
-0,0703 & 0,0384 & 0,9677
\end{pmatrix}
\times
\begin{pmatrix} R_{3} \\ G_{3} \\ B_{3} \end{pmatrix}.
</math>
Il est alors simple de retrouver les coordonnées des couleurs et en particulier celles des couleurs pures étudiées expérimentalement qui permettent d'établir les fonctions colorimétriques.
{{BDfin}}
{{Bas de page
| idfaculté = physique
| précédent = [[../Fonctions colorimétriques normalisées/]]
| suivant = [[../Détermination des fonctions colorimétriques/]]
}}
|