Informatique · Seconde · 5 min de lecture
Photo numérique : pixels, couleurs et poids d'une image
Le capteur est formé de photosites (par carrés de quatre : deux verts, un rouge, un bleu) ; l'image finale est formée de pixels, chacun codé par trois nombres R, V, B ; définition d'une image (nombre de pixels, en mégapixels), qui n'est pas forcément égale à celle du capteur ; profondeur de couleur, en général 8 bits par composante, soit 256 niveaux et 256³ = 16 777 216 couleurs ; taille d'une image non compressée (largeur × hauteur × 3 octets) ; métadonnées EXIF ; formats RAW, BMP, TIFF, JPEG, avec ou sans perte.
Chapitre du programme : Sciences numériques et technologie
Bloc 1 sur 7 · Comprendre
Comprendre : du capteur à l'image
En entrée, le capteur. Le capteur d'un appareil photo est couvert de minuscules cellules sensibles à la lumière, les photosites. Dans le modèle courant à filtres de Bayer étudié ici, chaque photosite mesure la lumière à travers un filtre coloré. Les filtres sont disposés par carrés de quatre, deux verts, un rouge et un bleu. La définition du capteur se compte en millions de photosites.
Cette disposition n’est pas celle de tous les capteurs.
En sortie, l'image RVB du modèle étudié. L'image est un quadrillage de pixels (de l'anglais picture element). Chaque pixel est de couleur uniforme et codé par trois nombres R, V, B : la quantité de rouge, de vert et de bleu. La définition de l'image est son nombre de pixels, souvent donné par largeur × hauteur (1 920 × 1 080) ou en mégapixels. Elle n'est pas forcément égale au nombre de photosites : ce sont des algorithmes qui calculent les pixels à partir des photosites.
La profondeur de couleur. En général, chaque composante R, V, B est codée sur 8 bits, c'est-à-dire un octet : elle prend une valeur entière de 0 à 255.
Bloc 2 sur 7 · Approfondir
Approfondir : combien de couleurs, combien d'octets
Nombre de couleurs. Avec 8 bits, une composante prend 256 valeurs. Les trois composantes étant indépendantes, un pixel peut prendre 256 × 256 × 256 couleurs :
print(256 * 256 * 256)16777216soit plus de 16 millions de couleurs.
Poids des données de l’image du modèle. On suppose un codage RVB à 8 bits par composante, sans canal alpha, sans palette, sans compression ni en-tête. Chaque pixel occupe 3 octets (un par composante). Pour une image de 1 920 × 1 080 pixels :
largeur, hauteur = 1920, 1080
pixels = largeur * hauteur
print(pixels, 3 * pixels)2073600 6220800L'image compte 2 073 600 pixels et occupe 6 220 800 octets, environ 6,2 millions d'octets, sans compter l'en-tête du fichier.
Formats et compression. Le format et le mode de compression sont deux informations distinctes. Un RAW peut être non compressé, compressé sans perte, ou avec perte selon le réglage ; Nikon propose ces trois modes pour NEF. TIFF accepte lui aussi plusieurs compressions. Pour garantir l’absence de perte, il faut vérifier le mode choisi, pas seulement le nom du format. Le JPEG usuel étudié ici utilise une compression avec perte : la décompression ne restitue généralement pas exactement les données de départ.
Métadonnées EXIF. Le fichier contient aussi des informations sur la prise de vue : modèle de l'appareil, réglages, date, parfois la localisation. Elles peuvent révéler où une photo a été prise.
Bloc 3 sur 7 · Exemple
Exemple guidé : transformer un pixel par programme
Énoncé. Un pixel a pour composantes (200, 120, 40), un orange. Quelle est sa valeur en niveau de gris (par la moyenne des composantes), et quelles sont les composantes de son négatif ?
Niveau de gris. On fait la moyenne des trois composantes, arrondie à l'entier inférieur ; le pixel gris aura ses trois composantes égales à cette valeur :
r, v, b = 200, 120, 40
g = (r + v + b) // 3
print(g)120Négatif. Chaque composante c devient 255 − c :
r, v, b = 200, 120, 40
print(255 - r, 255 - v, 255 - b)55 135 215Appliquer le même calcul à tous les pixels transforme toute l'image : c'est le principe d'un traitement d'image par programme.
Bloc 4 sur 7 · Visualiser
Voir : quelques couleurs et leurs composantes
| Couleur | R | V | B |
|---|---|---|---|
| noir | 0 | 0 | 0 |
| blanc | 255 | 255 | 255 |
| rouge | 255 | 0 | 0 |
| vert | 0 | 255 | 0 |
| bleu | 0 | 0 | 255 |
| jaune | 255 | 255 | 0 |
| gris moyen | 128 | 128 | 128 |
Quand les trois composantes sont égales, le pixel est gris : du noir (0) au blanc (255).
Continuez sur votre lancée
Vous avez découvert l’essentiel et un exemple. Retrouvez la suite du cours et les points à retenir, puis passez à l’entraînement guidé dans votre compte.
- Les formules et les repères à retenir
- Les erreurs fréquentes expliquées
- Un exercice avec des aides et sa correction
L’accès gratuit comprend les cours et exercices de votre niveau choisi.
Sources
- BO spécial n°1 du 22 janvier 2019 — programme de sciences numériques et technologie de seconde, thème « La photographie numérique »
- Nikon, manuel Z7/Z6, NEF (RAW) Recording : compression réversible, non réversible et absence de compression. https://onlinemanual.nikonimglib.com/z7_z6/en-nsg/09_menu_guide_03_07.html
- Library of Congress, TIFF tags, champ Compression et champs JPEG. https://loc.gov/preservation/digital/formats/content/tiff_tags.shtml
Vous pensez avoir trouvé une erreur dans cette leçon ? Signalez-la par e-mail.