GRAPHISME-FX@ZINTELIX3D

.Introduction

.RGB

.L'image (pour un developeur)

.Une video(pour un developeur)

.FX (manipulation d'une image ou d'une video):(super)


.Introduction:

Cette rubrique est ma préféré, elle vous fait entrer dans le mystérieux (pas tant que sa) monde de la retouche d’image des effets spéciaux et du montage vidéo.

l .Retour


.RGB:

Le RGB est un system de couleur basé sur  le rouge le vert et le bleu (Red, Green, Bleu) ou le R signifie l’intensité de la couleur rouge et peut prendre généralement une valeur entre (0-255) mais dans d’autre cas il peut prendre une valeur réel (0-1) en mettant (R=R/255) et de même pour le G(vert) et le B(bleue). Par exemple nous allons prendre:

{R=255, G=255, B=255} =blanc ;

{R=100, G=100, B=100} =gris;

{R=0, G=0, B=0} =noir ;

{R=255, G=0, B=0} =rouge ;

{R=0, G=255, B=0} =vert ;

{R=0, G=0, B=255} =bleu .

.Retour


.Une image (pour un developeur):

Une image est une sorte de multitude de cellule (pixel) distribué  sur sa langueur et largeur ou chaque pixel comporte une donné en RGB donc le nombre de donné est langueur*largeur*3.

 On peut aussi définir une image par une matrice de bytes (1 octet (0-255)) sou la forme image(langueur*largeur*3) ou:

image(0)=(l’intensité du rouge dans la pixel 0) ;

image(1)=(l’intensité du vert dans la pixel 0) ;

image(2)=(l’intensité du bleu dans la pixel 0) ;

 Généralement:

0 <X<(langueur*largeur*3)

A=(reste de la division (X/3) )

B=(le résultat de la division (X/3) )

Si A=0  image(X)=( l’intensité du rouge dans la pixel n°B) ;  

Si A=1  image(X)=( l’intensité du vert dans la pixel n°B) ;  

Si A=2  image(X)=( l’intensité du bleu dans la pixel n°B) .  

Exemple en image: (une image agrandis plusieurs fois)

vous ne le saviez pas hein!!!

 .Retour


.Une video(pour un developeur):

Une vidéo n'est rien d'autre q'une matrice d'images (matrice vidéo(200) de type image) par exemple pour une vidéo contenant 200 image de largeur H et de langueur W qui vont être passé avec une vitesse (X) image/seconde et le résultat final est vidéo(200,H*W*3) de type byte pour la RGB et vidéo(200,H*W*4) de type byte pour la RGBA.
.Retour


.FX(manipulation d'une image ou d'une video):

c'est surtout des calcules mathématique résumé avec des exemples et des images.

1.Manipulation des couleurs:

Il suffit d’éditer les paramètres RGB de chaque donné.

.Mixage:

.En ignorant une couleur:

Comme on l'utilise souvent dans les films ce procédé permet de tourné une scène sans l'acteur et puis de tourné une 2éme scène avec l'acteur sur un font (blanc ou noir...) et de mélanger ensuite les 2 scènes en ignorant la couleur du font. Pour cela après avoir choisi la couleur du font, on Remplace les donnés RGB de l'image d'origine par tout les donnés RGB de la nouvelle image qui ne corresponde pas a la couleur RGB du font.

.Algorithme:

---------------------------DEBUT-----------------------------------------------------------------------------

IMAGE1[largeur*langueur*3];

IMAGE2[largeur*langueur*3];

FONT[3]={FR,FG,FB};

pour i=0 a (largeur*langueur) i+=3{

si (IMAGE[i*3] != FONT[0] et IMAGE[i*3+1] != FONT[1] et IMAGE[i*3+2] != FONT[2]){

IMAGE1[i*3] = IMAGE2[i*3];

IMAGE1[i*3+1] = IMAGE2[i*3+1];

IMAGE1[i*3+2] = IMAGE2[i*3+2];

}}

-------------------------------FIN------------------------------------------------------------------------------

.Total:

Remplacez les donnés RGB de l'image d'origine par les donnés RGB de la nouvelle image.

.partiel:

Faire un melange entre les donnés RGB de l'image d'origine et les donnés RGB de la nouvelle image.

IMAGE1=RGB(R1,G1,B1) .... IMAGE2=RGB{R2,G2,B2}

N1 intensité de la présence de l'image1, N2 intensité de la présence de l'image2.

IMAGE RESULTAT=

= RGB{(N1*R1+N2*R2)/(N1+N2), (N1*G1+N2*G2)/(N1+N2), (N1*B1+N2*B2)/(N1+N2)}

2.Manipulation des lumière:

Asombrir & éclaircir:

Pour cela :

ImageN.Red =Image.Red*N ............. si (ImageN.Red>255) ImageN.Red=255

ImageN.Green=Image.Green*N ............ si. (ImageN.Green>255) ImageN.Green=255

ImageN.Blue=Image.Blue*N.............. si (ImageN.Blue>255) ImageN.Blue=255

si N<1 la nouvel image va être plus sombre que la premiére.

si N>1 la nouvel image va être plus éclairé que la premiére.

contraste:

ImageN.Red =Image.Red + N ............. si (ImageN.Red>255) ImageN.Red=255

ImageN.Green=Image.Green + N ............ si. (ImageN.Green>255) ImageN.Green=255

ImageN.Blue=Image.Blue + N.............. si (ImageN.Blue>255) ImageN.Blue=255

N<0 pour ajouter du contraste.

N>0 pour diminuer du contraste.

brouillard:

En suposant que la couleur du brouillard =RGB{100,100,100} (gris)

ImageN.Red = (Image.Red+100)/2

ImageN.Green = (Image.Green +100)/2

ImageN.Blue = (Image.Blue+100)/2

3.Redimensionner une image (principe):

image(W*H*3).......taille d'origine=W*H

imageN(NW*NH*3).......nouvelle taille =NW*NH

A=(W-1)/(NW-1) ....... B=(H-1)/(NH-1)

INT(x,y) = = (entier de x, entier de y)

Image d'origine:(H*W)

(0,H-1) (1,H-1) ....... ....... (W-1,H-1)
.......... ........... ....... (x,y) ...........
.......... .......... (x,y) ....... ...........
(0,1) (1,1) ....... ....... (W-1,1).
(0,0) (1,0) ...... ...... (W-1,0)

....0..........1..........x.......x........W-1...............X

imageN:(NH*NW)

Chaque case va retourner une valeur ce qui veut dire que cette case de imageN(x,y) va prendre la même couleur que la case INT(x*A,y*B) = = (NX,NY) de l'image d'origine.

INT(0*A,(H-1)*B) INT(1*A,(H-1)*B) ....................... ....................... INT((W-1)*A,(H-1)*B)
...................... ...................... ....................... INT(x*A,y*B) .......................
...................... ....................... INT(x*A,y*B) ....................... .......................
INT(0*A,1*B) INT(1*A,1*B) ....................... ....................... INT((W-1)*A,1*B)
INT(0*A,0*B) INT(1*A,0*B) ....................... ....................... INT((W-1)*A,0*B)

......... 0 ............................. 1 ......................... x .................... x ........................ NW ...............X

par exemple : IMAGE(1*2) --> IMAGEN(2,2)

A=0 , B=1

IMAGE(1*2):

(0,1)=RGB{100,200,255}
(0,0)=RGB{0,10,10}

IMAGEN(2*2):

(0,1)=couleurde(0*0,1*1)

.......=couleur de(0,1)=RGB{100,200,255}

(1,1)=couleurde(0*1,1*1)

........=couleur de(0,1)=RGB{100,200,255}

(0,0)=couleurde(0*0,1*0)

........=couleur de(0,0)=RGB{0,10,10}

(1,0)=couleurde(0*1,1*0)

.......=couleur de(0,0)=RGB{0,10,10}

Agrandir:....................................

Rétrécir:....................................

.Retour