[FoLUG] Conversione da YUV a RGB
muratmat@libero.it
muratmat@libero.it
Mer 3 Maggio 2006 18:50:09 CEST
> Ciao a tutti!
>
> Qualcuno sa dirmi come posso convertire un'immagine catturata da una telecamere dal modello YUV al modello RGB e viceversa?
>
> Se avete del codice sarebbe ancora meglio
>
> Grazie dell'aiuto.
>
RGB to YUV Conversion
Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16
Cr = V = (0.439 * R) - (0.368 * G) - (0.071 * B) + 128
Cb = U = -(0.148 * R) - (0.291 * G) + (0.439 * B) + 128
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)
Il codice per implementare le conversioni riportate risulta bovino ;) Attenzione che nelle formule indicate R, G e B sono espressi nel range [0; 255], quindi se li hai in range diversi (tipicamente puo' capitare tra 0 e 1) semplicementi li pretransformi o modifichi leggermente le formule.
Ah, stai attento che ogni componente ottenuto devi clamparlo tra 0 e 255, in quanto la conversione puo' portare a valori al di fuori.
Maggiori informazioni sulla lista
FoLUG