nsi:tds:4_couleurs
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| nsi:tds:4_couleurs [2021/09/30 12:45] – ↷ Page déplacée de nsi:projets:4_couleurs à nsi:tds:4_couleurs goupillwiki | nsi:tds:4_couleurs [2023/05/22 14:00] (Version actuelle) – goupillwiki | ||
|---|---|---|---|
| Ligne 41: | Ligne 41: | ||
| <Code python> | <Code python> | ||
| # récupérer le fichier image | # récupérer le fichier image | ||
| - | def readFile(filename): | + | def readfile(filename): |
| ''' | ''' | ||
| filename: nom du fichier | filename: nom du fichier | ||
| Ligne 60: | Ligne 60: | ||
| ==== Écriture du fichier image ==== | ==== Écriture du fichier image ==== | ||
| <Code python> | <Code python> | ||
| - | def saveImage(img, filename): | + | def saveimage(img, filename): |
| ''' | ''' | ||
| img: tableau numpy contant l' | img: tableau numpy contant l' | ||
| Ligne 98: | Ligne 98: | ||
| < | < | ||
| FONCTION zones: | FONCTION zones: | ||
| - | | + | |
| - | sortie: tableau des zones, tableau des ids utilisés | + | sortie: tableau des zones, tableau des ids utilisés |
| | | ||
| - | | + | |
| - | créer tableau ids vide | + | créer tableau ids vide |
| - | marquer qu'une nouvelle zone commence | + | marquer qu'une nouvelle zone commence |
| - | POUR chaque ligne: | + | POUR chaque ligne: |
| - | POUR chaque colonne | + | POUR chaque colonne |
| - | lire p, le pixel de image en ligne et colonne | + | lire p, le pixel de image en ligne et colonne |
| - | SI p est pixel frontière: | + | SI p est pixel frontière: |
| - | marquer qu'une nouvelle zone commence | + | marquer qu'une nouvelle zone commence |
| - | passer tout de suite au pixel suivant | + | passer tout de suite au pixel suivant |
| - | S'il est marqué qu'une nouvelle zone commence: | + | S'il est marqué qu'une nouvelle zone commence: |
| - | choisir un nouvel identifiant de zone | + | choisir un nouvel identifiant de zone |
| - | ajouter cet identifiant à ids | + | ajouter cet identifiant à ids |
| - | marqué que l'on ne commence plus une nouvelle zone | + | marqué que l'on ne commence plus une nouvelle zone |
| - | affecter l' | + | affecter l' |
| - | SI la ligne courante n'est pas la première, | + | SI la ligne courante n'est pas la première, |
| - | soit i l' | + | soit i l' |
| - | soit j l' | + | soit j l' |
| - | Si j != 0 et j!= i: | + | Si j != 0 et j!= i: |
| - | remplacer dans z toutes les occurrences de i par j | + | remplacer dans z toutes les occurrences de i par j |
| - | identifiant courant devient j | + | identifiant courant devient j |
| - | supprimer i des identifiants de ids | + | supprimer i des identifiants de ids |
| - | Fin de la ligne donc marquer qu'une nouvelle zone commence | + | Fin de la ligne donc marquer qu'une nouvelle zone commence |
| RENVOYER z et ids | RENVOYER z et ids | ||
| </ | </ | ||
| Ligne 135: | Ligne 135: | ||
| < | < | ||
| FONCTIONS voisinages: | FONCTIONS voisinages: | ||
| - | | + | |
| - | sortie: graphe des voisinages | + | sortie: graphe des voisinages |
| | | ||
| - | | + | |
| - | Créer zz un clone de z, | + | Créer zz un clone de z, |
| - | TANT QUE il existe des pixels frontière dans z: | + | TANT QUE il existe des pixels frontière dans z: |
| - | POUR chaque pixel de frontière de z: | + | POUR chaque pixel de frontière de z: |
| - | notons p ce pixel, | + | notons p ce pixel, |
| - | SI p a plusieurs pixels adjacents dans z qui ne sont pas des frontières: | + | SI p a plusieurs pixels adjacents dans z qui ne sont pas des frontières: |
| - | | + | |
| - | | + | |
| il faut chercher 2 pixel adjacents, situés à 90°, par ex au-dessus | il faut chercher 2 pixel adjacents, situés à 90°, par ex au-dessus | ||
| et à gauche, et d' | et à gauche, et d' | ||
| - | | + | |
| - | attribuer à la position ligne, | + | attribuer à la position ligne, |
| - | choisir le premier trouver s'il yen a plusieurs | + | choisir le premier trouver s'il yen a plusieurs |
| - | (ce choix peut se faire de différentes manières : | + | (ce choix peut se faire de différentes manières : |
| - | - avec un ordre de priorité, toujours le même, | + | - avec un ordre de priorité, toujours le même, |
| - | - au hasard | + | - au hasard |
| - | - chercher le majoritaire | + | - chercher le majoritaire |
| - | ) | + | ) |
| - | fin d'un parcours de l' | + | fin d'un parcours de l' |
| - | on place zz dans z et on crée un nouveau clone zz de z | + | on place zz dans z et on crée un nouveau clone zz de z |
| - | RENVOYER le graphe | + | RENVOYER le graphe |
| </ | </ | ||
nsi/tds/4_couleurs.1632998705.txt.gz · Dernière modification : de goupillwiki
