wpid-image-calculee-coul-2.png

Image & informatique

Une image affi­chée sur un écran d’ordinateur est com­po­sée de pixels orga­ni­sés selon une grille ortho­go­nale. Ce type d’image est com­pa­rable à une mosaïque : le pixel est le plus petit élé­ment consti­tuant une image infor­ma­ti­que­ment cal­cu­lée et cor­res­pon­drait à la tes­selle de la mosaïque. Le pixel contient une infor­ma­tion de couleur.

Une image numé­rique peut être en cou­leur ou en noir et blanc.

Noir et Blanc

Nous allons consi­dé­rer une image en Noir et Blanc ainsi qu’un échan­tillon agrandi de 20 x 20 pixels extrait de cette image.

Nous voyons dans l’extrait chaque petit carré repré­sen­tant le pixel. Dans le cas du noir et blanc, chaque pixel peut prendre une nuance de gris dont la valeur se situe entre 0 et 255. Ces 256 valeurs cor­res­pondent à 8 bits (8 bits = 2^8 = 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 256 ) soit à la pro­fon­deur de la cou­leur de l’image.

Le blanc cor­res­pond à la valeur 255 et le noir à la valeur 0.

Pour com­prendre com­ment mani­pu­ler une image avec la pro­gram­ma­tion, nous avons besoin de com­prendre ces dif­fé­rents chiffres et consti­tuants. En effet, un ordi­na­teur (com­pu­ter en anglais signi­fie cal­cu­la­teur) n’est rien d’autre qu’une machine à cal­cu­ler. En connais­sant com­ment il se com­porte avec les images, nous pour­rons lui dire com­ment agir selon notre volonté.

Voici com­ment l’ordinateur inter­prète l’extrait de notre image :

À chaque pixel, il asso­cie un nombre cor­res­pon­dant à une valeur de gris. Plus le chiffre est grand plus la cou­leur s’approche du noir, plus il est petit plus la cou­leur s’approche du blanc.

Cou­leur

Voici la même image, mais en cou­leur cette fois-ci.

Chaque pixel a cette fois ci une infor­ma­tion de cou­leur. Une cou­leur, sur écran, est consti­tué de 3 com­po­santes de cou­leur : le rouge, le vert, le bleu. Les ini­tiales RVB (RGB en anglais) cor­res­pondent à la syn­thèse addi­tive des cou­leurs (lien wiki­pe­dia). Ainsi à chaque pixel d’une image en cou­leur ana­lysé par un ordi­na­teur cor­res­pond 3 valeurs, celle du rouge, celle du vert et celle du bleu. Ce qui explique que l’analyse et le cal­cul d’image en temps réel néces­site des res­sources infor­ma­tiques importantes.

Pra­tique

Exemple 1 : obte­nir les com­po­santes de la cou­leur d’un pixel

L’ordinateur pour ana­ly­ser une image a besoin d’en sto­cker toutes les infor­ma­tions dans un tableau. Dans Pro­ces­sing, nous allons à par­tir d’une image en noir et blanc, extraire les infor­ma­tions de cou­leurs au sur­vol de la cur­seur de la souris.

// Création de l'objet PImage que je nomme monImage
PImage monImage;
// Création de la variable de type color que je nomme maCouleur
color maCouleur;

void setup()
{
  //taille de la fenêtre de l'applet
  //elle correspond dans ce cas à la taille de mon image
  size(600, 380);
  //j'attribue à mon objet monImage, le fichier image externe
  // nommé rainbow.jpg et qui se trouve dans le dossier data
  monImage = loadImage("rainbow.jpg");
}

void draw() {
  //j'affiche l'objet monImage à la posion x = 0 et y = 0
  image(monImage, 0, 0);
}

//fonction evenement "Quand un des boutons de la souris est appuyé..."
void mousePressed() {
  //j'attribue à la variable nommée maCouleur
  //la couleur du pixel situé au niveau du curseur de la souris
  maCouleur = get(mouseX, mouseY);
  //j'affiche dans la console de Processing les composantes RVB
  // de la variable maCouleur
  println("rouge: " + red(maCouleur) + " vert: " + green(maCouleur) + " bleu: " + blue(maCouleur));
}

Télé­char­ger le sketch

& informatique'" href="http://lessons.julien-drochon.net/image-informatique/#comments">0