Outils pour utilisateurs

Outils du site


nsi:tds:4_couleurs

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
nsi:tds:4_couleurs [2021/10/22 23:35] – ↷ Page déplacée de nsi:tds:serveur_web20:nsi:tds:4_couleurs à nsi:tds:4_couleurs goupillwikinsi: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'image en RGB     img: tableau numpy contant l'image en RGB
Ligne 98: Ligne 98:
 <Code:none linenums> <Code:none linenums>
 FONCTION zones: FONCTION zones:
-  Entrée: tableau image +    Entrée: tableau image 
-  sortie: tableau des zones, tableau des ids utilisés+    sortie: tableau des zones, tableau des ids utilisés
      
-  créer tableau z plein de 0 aux dimensions de image +    créer tableau z plein de 0 aux dimensions de image 
-  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'identifiant de zone en cours dans z à la ligne et colonne en cours +            affecter l'identifiant de zone en cours dans z à la ligne et colonne en cours 
-          SI la ligne courante n'est pas la première, +            SI la ligne courante n'est pas la première, 
-              soit i l'identifiant du pixel courant, +                soit i l'identifiant du pixel courant, 
-              soit j l'identifiant du pixel du dessus, +                soit j l'identifiant du pixel du dessus, 
-              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
 </Code> </Code>
Ligne 135: Ligne 135:
 <Code:none linenums> <Code:none linenums>
 FONCTIONS voisinages: FONCTIONS voisinages:
-  Entrée: tableau z des zones, identifiants des zones de z +    Entrée: tableau z des zones, identifiants des zones de z 
-  sortie: graphe des voisinages+    sortie: graphe des voisinages
      
-  Créer un graphe ayant pour sommets les identifiants des zones de z +    Créer un graphe ayant pour sommets les identifiants des zones de z 
-  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: 
-             ajouter des relations de voisinage selon les cas +               ajouter des relations de voisinage selon les cas 
-             (nécessite un peu de réflexion:+               (nécessite un peu de réflexion:
                 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'identifiants > 0 et différents)                 et à gauche, et d'identifiants > 0 et différents)
-          SI p a au moins un pixel adjacent q dans z qui a n'est pas une frontière: +            SI p a au moins un pixel adjacent q dans z qui a n'est pas une frontière: 
-              attribuer à la position ligne,colonne dans zz l'identifiant de q +                attribuer à la position ligne,colonne dans zz l'identifiant de q 
-              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'image. Pour préparer le suivant, +        fin d'un parcours de l'image. Pour préparer le suivant, 
-      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
 </Code> </Code>
  
nsi/tds/4_couleurs.1634938529.txt.gz · Dernière modification : de goupillwiki