Fenêtre et exécution

Bonsoir à tous,
Je suis étudiant et j'ai un projet informatique à réaliser pour la fin de l'année sur python,
Mon programme consiste à effectuer une ligne de partage des eaux sur des images médicales afin d'isoler des tumeurs par exemple.
J'ai un problème avec l'exécution de mon programme ,
En fait lorsqu'une fenêtre est ouverte le programme ne continu pas à tourner et attend que je ferme cette dernière pour exécuter la suite du code et ça me pose problème pour mon projet (j'utilise la bibliothèque matplotlib pour l'affichage des images).
Si quelqu'un sais régler ce problème je suis preneur de la solution,
Merci beaucoup.

Configuration: Windows / Chrome 97.0.4692.99

4 réponses

  1. Oui quand l'affichage fonctionne ce qui n'est pas tout le temps le cas
    1. Oui c'est ça...
      Et je pense que le problème vient de ma version de python ou matplolib qui n'exécute pas la suite du programme lorsqu'une fenêtre est ouverte.
      J'ai essayé de faire en fonction de ce problème mais le résultat attendu n'était pas le bon.
      1. Contributeur
        ginput() reste bloqué même quand tu as sélectionné tous les points dans la fenêtre?
    2. Merci pour votre réponse,
      Pour être plus précis le programme ne fonctionne pas sur les fonctions 'ginput',
      Le programme tourne sur les ordinateur de mes camarades...

       import numpy as np
      import matplotlib.pyplot as plt
      import matplotlib.image as mpimg
      import copy
      import math
      
      def noir_et_blanc(img):
          # Calcul de la "luminosité" par moyenne pondérée
          Imagengris = .2989 * img[:,:,0] + .5870 * img[:,:,1]  + .1140 *img[:,:,2]
          return Imagengris
      
      img = mpimg.imread('topotest.png') # image en niveaux de gris
      imgNB=noir_et_blanc(img)
      
      
      plt.figure('imageOrigine')
      plt.imshow(imgNB, cmap = 'Greys_r')
      plt.show(block=False)
      
      def creeFORME(ImgNB, npts): #A l'aide de points, on repère l'objet à extraire de son environnement
          # np est un entier égal au nb de points sélectionnés
          nl, nc = ImgNB.shape
          FORME = np.zeros((nl,nc))
          print("Selectionner "+str(npts)+" points sur l'objet :")
          point = plt.ginput(n=npts)
          print("prélèvement 'FORME' effectué !")
          for i in range(npts):
              ligne = int(point[i][1])
              colonne = int(point[i][0])
              FORME[ligne,colonne]=1
          return FORME
      
      
      fg=creeFORME(imgNB,3)
      print(fg)
      plt.close()     
      1. Contributeur
        le programme ne fonctionne pas bien sur ton ordi, et fonctionne bien sur d'autres ordis?
    3. Contributeur
      bonjour,
      peux-tu partager un petit programme qui démontre le soucis?