TNI+VO · Exercice de Programmation

EP01_07 — ⚫ Seuillage Manuel : Image Binaire

1.17.7 EP01_07 ⚫ Seuillage Manuel : Image Binaire

Dans cette activité, vous devez écrire un programme qui réalise la segmentation d’une image par seuillage (thresholding).

  • Lisez deux entiers L et C, représentant les dimensions de la matrice.
  • Lisez un entier T, qui sera la valeur du seuil (coupure).
  • Lisez les valeurs entières de la matrice.
  • Pour chaque pixel \(p\), appliquez la règle de binarisation suivante :

\[\text{résultat} = \begin{cases} 255 & \text{si } p > T \\ 0 & \text{si } p \le T \end{cases}\]

  • Affichez la matrice résultante contenant uniquement les valeurs 0 ou 255.

📌 Important :

  • Faites attention à l’opérateur : le pixel ne devient blanc (255) que s’il est strictement supérieur à \(T\).
  • La sortie doit conserver la structure matricielle (L lignes et C colonnes).
  • Voir un simulateur interactif pour cette question sur la Figure 1.17 (ajustez le curseur de \(T\) pour observer comment les objets sont isolés du fond).

1.17.7.1 🧠 Qu’est-ce que la Segmentation ?

Le seuillage est la méthode la plus simple pour séparer les objets d’intérêt du fond de l’image. En transformant les niveaux de gris en noir et blanc pur, on crée une carte binaire qui facilite le comptage des objets ou l’identification des formes :

Valeur du Pixel (\(p\)) Condition Résultat Final
Sombre (\(p \le T\)) Fond/Bruit 0 (Noir)
Clair (\(p > T\)) Objet/Mise en évidence 255 (Blanc)

1.17.7.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.

La troisième ligne contient l’entier T (seuil).

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

Sortie :

La matrice binarisée (0 ou 255) avec L lignes et C colonnes.

1.17.7.3 📌 Exemples

Entrée Sortie Observation
2
4
128
0 100 128 200
50 129 255 64
0 0 0 255
0 255 255 0
Notez que la valeur 128 est devenue 0 (car \(128 \le 128\))
🎛️ Simulateur EP01_07 : Seuillage interactif d'image Binaire : 0 ou 255
128
Entrée (niveaux de gris)
Sortie (masque binaire)
Les pixels dont l'intensité est supérieure à 128 (p > 128) deviennent blancs (255) ; sinon, ils deviennent noirs (0).
Figure 1.17: Simulateur EP01_07 : Seuillage global interactif (binarisation p > T)
%%writefile EP01_07.cpp
// your solution
Overwriting EP01_07.cpp
TestSuite("EP01_07.cpp").run()
✔️ EP01_07.cases existe déjà dans casos/
📋 7 cas chargé(s) depuis casos/EP01_07.cases

🔍 Test de C++ : EP01_07.cpp
⚠️ EP01_07.cpp : fichier vide (moins de 3 lignes). Tests ignorés.