Traitement d'Image — Seuillage et Barycentre
Niveaux de gris, masque binaire, centre de masse
Enonce
Implémenter trois fonctions :
- seuiller(img, s) → matrice de 0/1.
- barycentre(masque) → couple (xG, yG) de flottants. Si le masque est vide, retourner (None, None).
- compter_pixels_actifs(masque) → entier.
Signature attendue
def seuiller(img: list, s: int) -> list:
📖 Rappel de cours
Une image en niveaux de gris est représentée par une matrice $H\times W$ où chaque pixel est un entier dans $[0, 255]$ (type uint8 en numpy).
Seuillage :
$\text{masque}[i,j] = \begin{cases}1 & \text{si img}[i,j] \geq s\\ 0 & \text{sinon}\end{cases}$
Barycentre du masque :
$x_G = \frac{1}{N}\sum_{(i,j)\in\text{masque}} i,\qquad y_G = \frac{1}{N}\sum_{(i,j)\in\text{masque}} j$
où $N$ est le nombre de pixels actifs. Le barycentre localise un objet sur l'image (point central de masse).
← Exercices d'algorithmique en Python — tris, dichotomie, récursivité
Exercices du meme theme
- Distance d'Édition (Levenshtein)
- Rendu de Monnaie (DP)
- Problème des N-Reines
- Algorithme de Bresenham
La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.