comparison transformations/Rature.py @ 129:a507adba0ce3

Changes to fit with visualisation
author Xavier Glorot <glorotxa@iro.umontreal.ca>
date Thu, 18 Feb 2010 14:43:53 -0500
parents 5d3a7a4e30e9
children 51b531226557
comparison
equal deleted inserted replaced
125:5d3a7a4e30e9 129:a507adba0ce3
65 65
66 self.gauche=self.droite=self.haut=self.bas=-1 #Remet tout a -1 66 self.gauche=self.droite=self.haut=self.bas=-1 #Remet tout a -1
67 67
68 self.angle=int(numpy.random.normal(90,100*complexity)) 68 self.angle=int(numpy.random.normal(90,100*complexity))
69 69
70 self.faire=numpy.random.binomial(1,0.2) ##### 15% d'effectuer une rature ##### 70 self.faire=numpy.random.binomial(1,0.15) ##### 15% d'effectuer une rature #####
71 if next_rature: 71 if next_rature:
72 self.faire = 1 72 self.faire = 1
73 #self.faire=1 #Pour tester seulement 73 #self.faire=1 #Pour tester seulement
74 74
75 self.crop_haut=random.randint(0,17) 75 self.crop_haut=random.randint(0,17)
80 self.smooth=5 80 self.smooth=5
81 elif complexity <= 0.75: 81 elif complexity <= 0.75:
82 self.smooth=4 82 self.smooth=4
83 else: 83 else:
84 self.smooth=3 84 self.smooth=3
85 self.nb_ratures=1+int(numpy.random.rand()*3) 85
86 p = numpy.random.rand()
87 if p < 0.5:
88 self.nb_ratures= 1
89 else:
90 if p < 0.8:
91 self.nb_ratures = 2
92 else:
93 self.nb_ratures = 3
86 94
87 #Creation de la "patch" de rature qui sera appliquee sur l'image 95 #Creation de la "patch" de rature qui sera appliquee sur l'image
88 if self.faire == 1: 96 if self.faire == 1:
89 self.get_size() 97 self.get_size()
90 self.get_image_rot() #On fait la "patch" 98 self.get_image_rot() #On fait la "patch"
108 crop=grosse[self.haut:self.haut+32,self.gauche:self.gauche+32] 116 crop=grosse[self.haut:self.haut+32,self.gauche:self.gauche+32]
109 117
110 self.get_patch(crop) 118 self.get_patch(crop)
111 119
112 def get_patch(self,crop): 120 def get_patch(self,crop):
113 121 smooting = numpy.ones((self.smooth,self.smooth))
114
115 smooting=numpy.zeros((self.smooth,self.smooth))+1 #Au plus c'est gros, au plus ca rapetisse la ligne
116
117 #Il y a deux erosions afin d'avoir un beau resultat. Pas trop large et 122 #Il y a deux erosions afin d'avoir un beau resultat. Pas trop large et
118 #pas trop mince 123 #pas trop mince
119 trans=scipy.ndimage.morphology.grey_erosion\ 124 trans=scipy.ndimage.morphology.grey_erosion\
120 (crop,size=smooting.shape,structure=smooting,mode='wrap') 125 (crop,size=smooting.shape,structure=smooting,mode='wrap')
121 trans1=scipy.ndimage.morphology.grey_erosion\ 126 trans1=scipy.ndimage.morphology.grey_erosion\