Images#

Nous avons vu comment représenter des nombres et des caractères. Maintenant nous allons nous intéresser aux images.

Format#

Il existe deux types de format d'image:

    1picture element
  • le format matriciel ou bitmap (bmp, jpg, gif, png, ...)
    L'image est composée de points appelés pixels1picture element. Ceux-ci sont tellement petits que nous ne les voyons pas à l'oeil nu, mais si nous agrandissons l'image, les pixels deviennent visibles et l'image devient floue.

  • le format vectoriel (svg, eps, pdf)
    L'image est composée d'objets géométriques (segments, cercles, polygones, etc.) définis par des attributs (forme, position, couleur, etc.). De ce fait, une image vectorielle peut être agrandie sans perte de qualité.

image originale

image matricielle zoomée

image vectorielle zoomée

../_images/birds.png

../_images/image-matricielle.png

../_images/image-vectorielle.png

Images en noir et blanc#

Pour représenter une image en noir et blanc, nous définissons qu'un bit représente un pixel. S'il est blanc, il prendra la valeur 0, s'il est noir, la valeur 1.

Image en noir et blanc

Cette image a donc besoin de 8 octets (64 bits) pour être sauvegardée en mémoire, car nous avons 64 cases qui ont besoin chacune d'un bit pour définir le noir ou le blanc. Cette image a un poids de 8 octets.

Exercice 14#

  1. Quel est le poids de l'image ci-dessous?

  2. Quel est le code binaire de la lettre S représentée ci-dessous.

Image S en noir et blanc

Exercice 15#

Représenter l'image en noir et blanc donnée par le code suivant:

Image vide en noir et blanc

Images en niveaux de gris#

Dans le cas d'une image en niveau de gris, nous n'utiliserons pas 1 mais plusieurs bits par pixel. Dans cet exemple, nous utilisons 2 bits, nous aurons donc 4 niveaux de gris à disposition.

Image des niveaux de gris
Image en niveaux de gris

Cette image a un poids de \(2 * 8 * 8 = 128\) bits qui est équivalent à 16 octets, car nous avons 64 cases qui ont besoin chacune de 2 bits pour définir le gris.

Exercice 16#

  1. Quel est le poids de l'image ci-dessous?

  2. Quel est le code binaire de cette image en 4 niveaux de gris.

Image d'un koala en gris

Exercice 17#

Représenter l'image en 4 niveaux de gris donnée par le code suivant:

Image vide en niveaux de gris

Images en couleurs#

Il existe plusieurs façons de décrire les couleurs en informatique. Dans ce cours, nous nous intéresserons au système de codage RGB (pour Red Green Blue) noté parfois RVB en français (pour Rouge Vert Bleu). Le principe consiste à mélanger ou plus précisément à additionner une certaine quantité des trois couleurs primaires (rouge, vert et bleu) pour obtenir la couleur finale. Ce procédé s'appelle la synthèse additive.

Chacune des trois couleurs primaires est représentée par un nombre compris entre 0 et 255 (donc 256 valeurs). Il faut donc 3 octets pour coder un pixel, ce qui prend rapidement beaucoup de place.

Image des couleurs RGB

Tableau des couleurs principales#

Couleur NomCode hexadécimalCode décimal (R,G,B)
black#000000(0, 0, 0)
white#FFFFFF(255, 255, 255)
red#FF0000(255, 0, 0)
lime#00FF00(0, 255, 0)
blue#0000FF(0, 0, 255)
yellow#FFFF00(255, 255, 0)
cyan#00FFFF(0, 255, 255)
magenta#FF00FF(255, 0, 255)
silver#C0C0C0(192, 192, 192)
gray#808080(128, 128, 128)

En général, le code RGB est noté en hexadécimal et il est précédé d'un #.
Si les trois valeurs sont identiques, nous obtiendrons du gris.

Sur le site "Liste des couleurs", il y a les références de toutes les couleurs possibles.

Exercice 18#

Quel est le poids d'une image de 500 sur 300 pixels (1 pixel est équivalent à une case) codée...

Exercice 19#

Quel est le code décimal et hexadécimal d'un pixel...

  1. ... en noir?

  2. ... en blanc?

  3. ... en gris?

  4. ... en jaune?

Exercice 20#

Quelle couleur est représentée par les codes RGB suivants?

  1. (100, 50, 200)

  2. (20, 200, 250)

  3. (50, 220, 50)