Tutte le matrici M permettono di passare dal colore A (vettore a 3 componenti) nel vettore colore B (vettore sempre a 3 componenti) attraverso la trasformazione lineare
B=M*A+C
che con il solito accorgimento di estendere con un 1
il vettore A per renderlo di 4 componenti, il vettore C
di scostamento viene integrato all'interno della matrice M
che risulta perciò 4x3.
Normalizzati per ingresso [0-255] e uscita [0-255]
Matrice Identità: |
|
|||||||||||||||
RGB -> CIE | TODO | |||||||||||||||
CIE -> RGB | TODO | |||||||||||||||
RGB->YUV |
|
|||||||||||||||
YUV->RGB |
|
|||||||||||||||
RGB->YIQ |
|
|||||||||||||||
YIQ->RGB |
|
|||||||||||||||
RGB->YCrCb |
|
|||||||||||||||
YCrCb->RGB |
RGB->YCrCb (RGB -> YUV per Keith Jack):
Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16
Cr= (0.439 * R) - (0.368 * G) - (0.071 * B) + 128
Cb= -(0.148 * R) - (0.291 * G) + (0.439 * B) + 128
Y' = 16 + 1/256 * ( 65.738 * R'd + 129.057 * G'd + 25.064 * B'd) Cb = 128 + 1/256 * ( - 37.945 * R'd - 74.494 * G'd + 112.439 * B'd) Cr = 128 + 1/256 * ( 112.439 * R'd - 94.154 * G'd - 18.285 * B'd) R'd, G'd, B'd in {0, 1, 2, ..., 255} Y' in {16, 17, ..., 235} with footroom in {1, 2, ..., 15} headroom in {236, 237, ..., 254} sync. in {0, 255} Cb, Cr in {16, 17, ..., 240}but it is the same.
Ey = 0.299R+0.587G+0.114B Ecr = 0.713(R - Ey) = 0.500R-0.419G-0.081B Ecb = 0.564(B - Ey) = -0.169R-0.331G+0.500B
YUV to RGB Conversion:
B = 1.164(Y - 16) + 2.018(U - 128) G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128) R = 1.164(Y - 16) + 1.596(V - 128)
RGB->YUV:
[ Y ] [ 0.299 0.587 0.114 ] [ R ]
[ U ] = [ -0.147 -0.289 0.437 ] [ G ]
[ V ] [ 0.615 -0.515 -0.100 ] [ B ]
YUV->RGB:
[ R ] [ 1 0 1.140 ] [ Y ]
[ G ] = [ 1 -0.394 -0.581 ] [ U ]
[ B ] [ 1 2.028 0 ] [ V ]
RGB->YIQ:
Y= 0.299*R + 0.587*G 0.114*B
I = 0.596*R -0.275*G -0.321*B
Q=0.212*R -0.523*G 0.311*B
YIQ->RGB:
R= Y + 0.956*I + 0.621*Q
G= Y- 0.272*I -0.647*Q
B=Y -1.105*I + 1.702*Q
XYZ->RGB:
[ R ] [ 3.240479 -1.537150 -0.498535 ] [ X ]
[ G ] = [ -0.969256 1.875992 0.041556 ] * [ Y ]
[ B ] [ 0.055648 -0.204043 1.057311 ] [ Z ].
RGB->XYZ:
[ X ] [ 0.412453 0.357580 0.180423 ] [ R ] **
[ Y ] = [ 0.212671 0.715160 0.072169 ] * [ G ]
[ Z ] [ 0.019334 0.119193 0.950227 ] [ B ].
RGB->CMY:
Red,Green,Blue<-> to Cyan,Magenta and Yellow is performed through a
transformation matrix of this form:
[ C ] = [ 1 ] - [ R ] [ R ] = [ 1 ] - [ C ]
[ M ] = [ 1 ] - [ G ] as well as [ G ] = [ 1 ] - [ M ]
[ Y ] = [ 1 ] - [ B ] [ B ] = [ 1 ] - [ Y ]