# Gnral Dveloppement > Algorithme & Mathmatiques > Traitement d'images >  transformer une image RGB en niveau de gris

## tapouni

Salut;

je cherche  savoir comment transformer une image RGB 24 bits, en une image en niveau de gris.

Merci pour votre aide. ::):

----------


## b_reda31

Bonjour,
Tout d'abord pour chaque pixel de l'image il faut extraire ses trois composantes (R,V,B).
 Ensuite l il existe plusieurs formules pour calculer la valeur en niveau de gris.Perso j'utilise la suivante:
*
Gris=(R+V+B)/3.*

La caractristique d'un pixel de niveau de gris est que ses trois composantes sont gales,ad : 
*
R=V=B=Gris*

Vous pouvez consulter google pour voir les diffrentes autres fomules qui existent ainsi que leur cas d'application.
Bonne continuation. ::king::

----------


## Flow_75

> La C.I.E (Commission Internationale de l'clairage) propose, de caractriser linformation de luminance (la valeur de gris) dun pixel par deux formules :
> 
> Dans sa recommandation 709, qui concerne les couleurs  vraies  ou naturelles : 
> 
> *Gris = 0.2125 Rouge + 0.7154 Vert + 0.0721 Bleu*
> 
> Dans sa recommandation 601 pour les couleurs non-linaires, c'est--dire avec correction du gamma (image vue  partir d'un cran vido) : 
> 
> *Gris = 0.299 Rouge + 0.587 Vert + 0.114 Bleu*
> ...


Source Wikipedia

----------


## ToTo13

Bonjour,

il faut utiliser les formules conseilles dans Wikipdia.
En effet, il faut savoir sur notre oeil n'est pas sensible de la mme faon aux diffrentes couleurs et il faut donc viter de mettre des coefficients identiques pour les trois canaux.

----------


## JeromeBcx

En effet, on s'apperoit dans la formule :

*Gris = 0.2125 Rouge + 0.7154 Vert + 0.0721 Bleu

*que le vert est prpondrant sur les autres.
Remarque au passage, une *approximation* (gain de temps de calcul, conservation du format entier) est de ne garder que la composante verte.

Nanmoins, si le facteur qualit prdomine, la formule 1 (ou 2) suivant les cas est a utiliser. NB Prcaution  prendre Gris est une valeur dcimale, penser  la retransformer en entier 8 bits

----------


## millie

> que le vert est prpondrant sur les autres.


C'est un peu HS. Mais parait que c'est li au fait que l'homme vie depuis longtemps dans un environnement relativement vert et sait donc mieux discerner des diffrentes de teintes dans le vert quand dans le bleu (qui n'est prsent dans la nature qu'avec le ciel)

----------


## amphimax

Salut, j'ai une image RGB que je veux transformer en niveaux de gris. Je voulais utiliser rgb2gray, mais j'obtiens les messages d'erreurs suivants:

??? Error using ==> rgb2gray>parse_inputs at 82
MAP must be a m x 3 array.

Error in ==> rgb2gray at 35
X = parse_inputs(varargin{:});

Error in ==> manuel at 15
I2 = rgb2gray(I);


Qqn pour m'aider? Merci!

----------


## millie

Si on savait c'tait en quel langage, a aiderait  ::aie::

----------


## amphimax

Pardon, en Matlab!
Est-ce que a peut venir du format de l'image d'origine,  savoir du GIF?

----------


## JeromeBcx

> Pardon, en Matlab!
> Est-ce que a peut venir du format de l'image d'origine,  savoir du GIF?


Le forum MatLab serait mieux adapt pour rpondre  ta question, mais apparement, c'est le format de ta matrice qui n'est pas bon.



```
 MAP must be a m x 3 array.
```

3 pour les trois composantes R G et B

----------

