Détection de contours.
Cette activité s'intègre dans l'exemple "Programmer un algorithme d’extraction de contours par comparaison entre pixels voisins et utilisation d’un seuil".
Il s'agit d'initier les élèves au traitement d'image à travers la détection de contours.
La détection de contours fait appelle en général à des notions de mathématiques incompatibles avec le niveau de seconde des élèves. Cependant, la méthode employée ici fait appelle à la notion de différence de niveaux de gris entre pixels voisins.
Les élèves découvrent dans un premier temps l'intérêt de la détection de contour et sa mise en oeuvre.
On pourra faire recherche le contour sur une zone d'une image en niveau de gris à partir d'un exemple comme celui-ci.
Exemple d'image grossie.
L'objectif premier est que les élèves puissent toucher du doigt une méthode simple.
Les élèves recherchent des exemples de pixels voisins. On pourra indiquer une contrainte de symétrie.
Les élèves feront alors des mesures sur l'exemple de l'image en faisant des calculs de différences de niveaux de gris entre pixels voisins.
On intégrera ensuite progressivement la nécessité de calculer une norme pour s'affranchir des signes négatifs gênants.
Les élèves proposeront un seuil pour faire la distinction entre pixel qui appartient ou n'appartient pas au contour.
Les élèves modifieront un algorithme.
Puis ils proposeront un programme en Python. Cette activité fait suite à celle de la conversion en niveau de gris. Sinon on pourra fournir un programme à adapter incomplet.
Il est aussi possible de leur fournir une bibliothèque qui trouve le contour comme la bibliothèque ImageFilter avec la méthode associée: image.filter(ImageFilter,CONTOUR)