Salut a toutes et tous!
Voila je viens de programmer le seuillage entropique a l'aide de nummarray.
Le Souci le temps de calcul! Je soupsonne le fait de trop utiliser de boucle for pour créer, ou modifier des matrices...Je vous met du code.!
Est ce que vous pensez que la lenteur peut venir de ca. Cette boucle est appelé 255^3 .. a oui quand meme!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 for i in range(larg): for j in range(haut): if P[i][j]==0: pass else: Plog[i][j]=M.log10(P[i][j]) entropie=-1*sum((P*Plog).flat)
De plus l'appel de la fonction ou apparait ce code est lui meme dans une boucle for.
Voila je trouve que ca fait beaucoup de boucle for.... Alors si vous avez des solutions de sinthaxe, ou si vous reperez des erreurs gourmandes en memoires faites moi signe S'il vous plait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 for i in range(1,254): Blanc=255*Im.threshhold(image,high=i) Inv=255*Im.threshhold(Noir,high=i) entroN=entropie(Inv) entroB=entropie(Blanc) Com.append(abs(entroN-entroB)) for m in range(len(Com)): if Com[m]==max(Com):pos=m print pos
MERCI Beaucoup!
Partager