Fenêtre et exécution

latbri -  
latbri Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

4 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
peux-tu partager un petit programme qui démontre le soucis?
0
latbri
 
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()     
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
le programme ne fonctionne pas bien sur ton ordi, et fonctionne bien sur d'autres ordis?
0
latbri
 
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.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
ginput() reste bloqué même quand tu as sélectionné tous les points dans la fenêtre?
0
latbri Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
Oui quand l'affichage fonctionne ce qui n'est pas tout le temps le cas
0