TNI+VO · Exercice de Programmation

EP01_05 — 🔄 Négatif d’une Image en Niveaux de Gris

1.19.5 EP01_05 🔄 Négatif d’une Image en Niveaux de Gris

Dans cette activité, il faut écrire un programme qui calcule le négatif d’une image numérique.

  • Lire deux entiers L et C, représentant le nombre de lignes et de colonnes.
  • Lire les valeurs entières qui composent la matrice de l’image.
  • Pour chaque pixel, appliquer la transformation d’inversion :

\[pixel_{négatif} = 255 - pixel_{original}\]

  • Afficher la matrice résultante, en conservant le format original (L lignes et C colonnes).

📌 Important :

  • Les valeurs de chaque ligne dans la sortie doivent être séparées par un espace blanc.
  • La sortie doit contenir uniquement les nombres de la matrice résultante.
  • Voir un simulateur interactif pour cette question à la Figure 1.15 (comparaison en temps réel entre la matrice originale et son négatif).

1.19.5.1 🧠 Pourquoi cela importe-t-il ? – Inversion d’Intensité

Le négatif est une transformation linéaire de base qui inverse l’échelle de luminosité. C’est un outil essentiel pour que l’œil humain identifie les détails clairs qui sont « cachés » dans des fonds plus sombres, et il est largement utilisé dans :

Application Utilité
Imagerie Médicale Améliore la visualisation des anomalies dans les tissus denses (ex : Rayons X).
Astronomie Mettre en évidence les galaxies et les nébuleuses ténues contre le vide de l’espace.
Arts Numériques Effets esthétiques et préparation de masques de sélection.

1.19.5.2 📋 Tâche (spécification pour VPL)

Entrée :

La première ligne contient l’entier L.

La deuxième ligne contient l’entier C.

Les lignes suivantes contiennent les éléments de la matrice.

Sortie :

La matrice inversée avec L lignes et C colonnes.

1.19.5.3 📌 Exemples

Entrée Sortie Remarque
2
3
0 128 255
50 100 255
255 127 0
205 155 55
Là où il y avait 0 (noir), devient 255 (blanc)
🌓 Simulateur EP01_05 : Transformation de négatif d'image p' = 255 - p

Cliquez sur les pixels de la matrice Original (p) pour modifier leurs niveaux de gris (pas de +51) et observez l'effet de l'inversion complémentaire sur la matrice Négatif (255 - p).

ORIGINAL (p)
NÉGATIF (255 - p)
💡 La transformation en négatif mappe les tons sombres (proches de 0) vers des tons clairs (proches de 255) et inversement, ce qui est utile pour faire ressortir les détails sombres sur des fonds clairs.
Figure 1.15: Simulateur EP01_05 : Transformation de Négatif d’Image (Inversion d’Intensité)
%%writefile EP01_05.py
# votre solution
Overwriting EP01_05.py
TestSuite("EP01_05.py").run()
✔️ EP01_05.cases existe déjà dans casos/
📋 7 cas chargé(s) depuis casos/EP01_05.cases

🔍 Test de Python : EP01_05.py
⚠️ EP01_05.py : fichier vide (moins de 3 lignes). Tests ignorés.