# HG changeset patch # User Xavier Glorot # Date 1266515914 18000 # Node ID 5d3a7a4e30e9d39c63e7a7efcf98250e2cca0841 # Parent b852dddf43a6fa112b1eb1497a088db7ebe33b66 little changes in Rature and occlusion to fit with visualisation diff -r b852dddf43a6 -r 5d3a7a4e30e9 transformations/Occlusion.py --- a/transformations/Occlusion.py Thu Feb 18 12:33:17 2010 -0500 +++ b/transformations/Occlusion.py Thu Feb 18 12:58:34 2010 -0500 @@ -61,10 +61,10 @@ return ['haut','bas','gauche','droite','x_arrivee','y_arrivee','endroit','rajout','appliquer'] def regenerate_parameters(self, complexity): - self.haut=min(15,int(numpy.abs(numpy.random.normal(int(7*complexity),2)))) - self.bas=min(15,int(numpy.abs(numpy.random.normal(int(7*complexity),2)))) - self.gauche=min(15,int(numpy.abs(numpy.random.normal(int(7*complexity),2)))) - self.droite=min(15,int(numpy.abs(numpy.random.normal(int(7*complexity),2)))) + self.haut=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2)))) + self.bas=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2)))) + self.gauche=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2)))) + self.droite=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2)))) if self.haut+self.bas+self.gauche+self.droite==0: #Tres improbable self.haut=1 self.bas=1 @@ -76,7 +76,7 @@ self.y_arrivee=int(numpy.random.normal(0,3)) self.rajout=numpy.random.randint(0,self.longueur-1) #les bouts de quelle lettre - self.appliquer=numpy.random.binomial(1,0.3) ##### 30 % du temps, on met une occlusion ##### + self.appliquer=numpy.random.binomial(1,0.4) ##### 30 % du temps, on met une occlusion ##### if complexity == 0: #On ne fait rien dans ce cas self.applique=0 diff -r b852dddf43a6 -r 5d3a7a4e30e9 transformations/Rature.py --- a/transformations/Rature.py Thu Feb 18 12:33:17 2010 -0500 +++ b/transformations/Rature.py Thu Feb 18 12:58:34 2010 -0500 @@ -54,7 +54,7 @@ def get_settings_names(self): return ['angle','numero','faire','crop_haut','crop_gauche','largeur_bande','smooth','nb_ratures'] - def regenerate_parameters(self, complexity): + def regenerate_parameters(self, complexity,next_rature = False): self.numero=random.randint(0,4999) #Ces bornes sont inclusives ! @@ -67,7 +67,9 @@ self.angle=int(numpy.random.normal(90,100*complexity)) - self.faire=numpy.random.binomial(1,0.15) ##### 15% d'effectuer une rature ##### + self.faire=numpy.random.binomial(1,0.2) ##### 15% d'effectuer une rature ##### + if next_rature: + self.faire = 1 #self.faire=1 #Pour tester seulement self.crop_haut=random.randint(0,17) @@ -80,7 +82,7 @@ self.smooth=4 else: self.smooth=3 - self.nb_ratures=int(numpy.random.normal(complexity*2,complexity*1.5))+1 + self.nb_ratures=1+int(numpy.random.rand()*3) #Creation de la "patch" de rature qui sera appliquee sur l'image if self.faire == 1: @@ -195,7 +197,7 @@ if self.fini == 0: #S'il faut rajouter des couches patch_temp=self.patch for w in xrange(1,self.nb_ratures): - self.regenerate_parameters(self.complexity) + self.regenerate_parameters(self.complexity,1) for i in xrange(0,32): for j in xrange(0,32): patch_temp[i,j]=max(patch_temp[i,j],self.patch[i,j])