Chapitre 2 : Taille, traitement et formats d’images¶
Programme officiel (B.O.)¶
B.O. spécial n° 1 du 22 janvier 2019 - SNT Seconde
| Contenus | Capacités attendues |
|---|---|
| Photosites, pixels, résolution, image matricielle | Comprendre la représentation d'une image en pixels. Calculer la taille d'une image non compressée. |
| Codage RVB d'un pixel | Coder et décoder les couleurs d'un pixel en RVB. |
| Traitement d'image : filtres, redimensionnement, compression | Appliquer des traitements simples à une image numérique (modification de couleurs, filtres). Comprendre l'effet de la compression sur la qualité d'une image. |
| Métadonnées EXIF | Retrouver et interpréter les métadonnées d'une photo numérique. |
4. Taille d'une image non compressée¶
4.1. Calcul¶
La taille en octets d'une image non compressée se calcule ainsi :
(3 octets par pixel pour le codage RVB sur 24 bits)
Exemple de calcul
Une photo de 4 032 × 3 024 pixels :
C'est considérable ! C'est pourquoi la compression est indispensable.
4.2. Unités de taille¶
| Unité | Équivalence |
|---|---|
| 1 octet (o) | 8 bits |
| 1 kilo-octet (ko) | 1 024 octets |
| 1 méga-octet (Mo) | 1 024 ko ≈ 1 million d'octets |
| 1 giga-octet (Go) | 1 024 Mo ≈ 1 milliard d'octets |
5. Le traitement d'images¶
5.1. Filtres courants¶
Un filtre est un traitement qui modifie les valeurs des pixels d'une image :
| Filtre | Action |
|---|---|
| Niveaux de gris | Remplacer chaque pixel par la moyenne de ses composantes RVB |
| Négatif | Inverser chaque composante : nouvelle valeur = 255 − ancienne valeur |
| Luminosité | Ajouter ou soustraire une valeur à chaque composante |
| Contraste | Accentuer les différences entre pixels clairs et sombres |
| Flou | Remplacer chaque pixel par la moyenne de ses voisins |
| Rouge seul | Mettre à zéro les composantes V et B, garder uniquement R |
5.2. Redimensionnement¶
Réduire une image consiste à supprimer des pixels (sous-échantillonnage). Agrandir une image consiste à ajouter des pixels en interpolant les valeurs des pixels voisins. L'agrandissement entraîne une perte de netteté (image « pixelisée »).
5.3. Exemple de traitement en Python¶
# Convertir une image en niveaux de gris
from PIL import Image
img = Image.open("photo.jpg")
largeur, hauteur = img.size
for x in range(largeur):
for y in range(hauteur):
r, g, b = img.getpixel((x, y))
gris = (r + g + b) // 3
img.putpixel((x, y), (gris, gris, gris))
img.save("photo_gris.jpg")
6. Les formats d'images et la compression¶
6.1. Pourquoi compresser ?¶
Les images non compressées occupent beaucoup d'espace. Une simple photo de smartphone (12 Mpx) pèse près de 35 Mo sans compression ! La compression réduit la taille du fichier pour faciliter le stockage et le transfert.
6.2. Types de compression¶
| Type | Principe | Qualité | Formats |
|---|---|---|---|
| Sans perte (lossless) | Réduit la taille sans perdre d'information. L'image reconstruite est identique à l'originale. | Parfaite | PNG, BMP (non compressé), TIFF |
| Avec perte (lossy) | Supprime des détails invisibles ou peu visibles à l'œil. L'image reconstruite diffère légèrement de l'originale. | Légèrement dégradée | JPEG |
6.3. Les principaux formats d'images¶
- Compression : aucune (image brute, non compressée).
- Qualité : parfaite (aucune perte).
- Poids : très lourd (taille = largeur × hauteur × 3 octets + en-tête).
- Usage : rarement utilisé aujourd'hui en raison de sa taille, mais utile pour comprendre le stockage brut des pixels.
- Compression : sans perte.
- Qualité : parfaite (aucune perte).
- Particularité : gère la transparence (canal alpha sur 8 bits).
- Poids : plus léger que le BMP, mais plus lourd que le JPEG.
- Usage : logos, captures d'écran, images avec du texte, images nécessitant de la transparence.
- Compression : avec perte, taux réglable (de 1 à 100 en qualité).
- Qualité : dépend du taux de compression choisi.
- Particularité : ne gère pas la transparence.
- Poids : très léger (5 à 20 fois plus petit que le BMP).
- Usage : photographies, images web. Le format le plus répandu.
- Compression : sans perte, mais limitée à 256 couleurs (8 bits).
- Qualité : réduite pour les photographies (palette limitée).
- Particularité : supporte l'animation (succession d'images).
- Poids : léger pour les images simples.
- Usage : animations courtes, icônes, images avec peu de couleurs.
6.4. Comparaison du poids des fichiers¶
Comparaison pour une même image de 800 × 600 pixels
| Format | Taille approximative | Rapport |
|---|---|---|
| BMP | 1 440 ko | ×1 (référence) |
| PNG | 500 à 900 ko | ×0,4 à ×0,6 |
| JPEG qualité 90 | 150 à 250 ko | ×0,1 à ×0,17 |
| JPEG qualité 50 | 50 à 100 ko | ×0,03 à ×0,07 |
| JPEG qualité 10 | 15 à 30 ko | ×0,01 à ×0,02 |
| GIF | 100 à 300 ko | ×0,07 à ×0,2 |
Plus le taux de qualité JPEG est bas, plus le fichier est léger, mais plus les artefacts de compression (carrés visibles, flou) apparaissent.
6.5. Le format JPEG en détail¶
Le format JPEG utilise une compression avec perte. On peut régler le taux de compression :
- Faible compression (qualité élevée) = haute qualité mais fichier volumineux
- Forte compression (qualité basse) = fichier léger mais qualité dégradée (artefacts visibles)
Compression répétée
Chaque fois qu'on ouvre et ré-enregistre une image JPEG, elle est recompressée et perd un peu plus de qualité. Pour éviter cela, travailler en PNG ou en format natif, puis exporter en JPEG à la fin.