Mercurial > ift6266
annotate transformations/Rature.py @ 134:4981c729149c
Fixed various bugs in pipeline for Python 2.5 support
author | boulanni <nicolas_boulanger@hotmail.com> |
---|---|
date | Sat, 20 Feb 2010 02:09:09 -0500 |
parents | a507adba0ce3 |
children | 51b531226557 |
rev | line source |
---|---|
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
1 #!/usr/bin/python |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
2 # coding: utf-8 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
3 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
4 ''' |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
5 Ajout d'une rature sur le caractère. La rature est en fait un 1 qui recoit une |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
6 rotation et qui est ensuite appliqué sur le caractère. Un grossissement, puis deux |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
7 erosions sont effectuees sur le 1 afin qu'il ne soit plus reconnaissable. |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
8 Il y a des chances d'avoir plus d'une seule rature ! |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
9 |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
10 Il y a 15% d'effectuer une rature. |
75
9e5463ebd044
Diminution de la proba de faire une rature, c'est 15% maintenant
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
63
diff
changeset
|
11 |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
12 Ce fichier prend pour acquis que les images sont donnees une a la fois |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
13 sous forme de numpy.array de 1024 (32 x 32) valeurs entre 0 et 1. |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
14 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
15 Sylvain Pannetier Lebeuf dans le cadre de IFT6266, hiver 2010 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
16 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
17 ''' |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
18 |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
19 import numpy, Image, random |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
20 import scipy.ndimage.morphology |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
21 from pylearn.io import filetensor as ft |
75
9e5463ebd044
Diminution de la proba de faire une rature, c'est 15% maintenant
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
63
diff
changeset
|
22 |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
23 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
24 class Rature(): |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
25 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
26 def __init__(self): |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
27 self.angle=0 #Angle en degre de la rotation (entre 0 et 180) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
28 self.numero=0 #Le numero du 1 choisi dans la banque de 1 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
29 self.gauche=-1 #Le numero de la colonne la plus a gauche contenant le 1 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
30 self.droite=-1 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
31 self.haut=-1 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
32 self.bas=-1 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
33 self.faire=1 #1=on effectue et 0=fait rien |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
34 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
35 self.crop_haut=0 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
36 self.crop_gauche=0 #Ces deux valeurs sont entre 0 et 31 afin de definir |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
37 #l'endroit ou sera pris le crop dans l'image du 1 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
38 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
39 self.largeur_bande=-1 #La largeur de la bande |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
40 self.smooth=-1 #La largeur de la matrice carree servant a l'erosion |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
41 self.nb_ratures=-1 #Le nombre de ratures appliques |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
42 self.fini=0 #1=fini de mettre toutes les couches 0=pas fini |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
43 self.complexity=0 #Pour garder en memoire la complexite si plusieurs couches sont necessaires |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
44 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
45 f3 = open('/data/lisa/data/ift6266h10/un_rature.ft') #Doit etre sur le reseau DIRO. |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
46 #f3 = open('/home/sylvain/Dropbox/Msc/IFT6266/donnees/un_rature.ft') |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
47 #Il faut arranger le path sinon |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
48 w=ft.read(f3) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
49 f3.close() |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
50 self.d=(w.astype('float'))/255 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
51 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
52 self.patch=self.d[0].reshape((32,32)) #La patch de rature qui sera appliquee sur l'image |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
53 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
54 def get_settings_names(self): |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
55 return ['angle','numero','faire','crop_haut','crop_gauche','largeur_bande','smooth','nb_ratures'] |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
56 |
125
5d3a7a4e30e9
little changes in Rature and occlusion to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
121
diff
changeset
|
57 def regenerate_parameters(self, complexity,next_rature = False): |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
58 |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
59 |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
60 self.numero=random.randint(0,4999) #Ces bornes sont inclusives ! |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
61 self.fini=0 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
62 self.complexity=complexity |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
63 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
64 if float(complexity) > 0: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
65 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
66 self.gauche=self.droite=self.haut=self.bas=-1 #Remet tout a -1 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
67 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
68 self.angle=int(numpy.random.normal(90,100*complexity)) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
69 |
129
a507adba0ce3
Changes to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
125
diff
changeset
|
70 self.faire=numpy.random.binomial(1,0.15) ##### 15% d'effectuer une rature ##### |
125
5d3a7a4e30e9
little changes in Rature and occlusion to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
121
diff
changeset
|
71 if next_rature: |
5d3a7a4e30e9
little changes in Rature and occlusion to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
121
diff
changeset
|
72 self.faire = 1 |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
73 #self.faire=1 #Pour tester seulement |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
74 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
75 self.crop_haut=random.randint(0,17) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
76 self.crop_gauche=random.randint(0,17) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
77 if complexity <= 0.25 : |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
78 self.smooth=6 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
79 elif complexity <= 0.5: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
80 self.smooth=5 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
81 elif complexity <= 0.75: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
82 self.smooth=4 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
83 else: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
84 self.smooth=3 |
129
a507adba0ce3
Changes to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
125
diff
changeset
|
85 |
a507adba0ce3
Changes to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
125
diff
changeset
|
86 p = numpy.random.rand() |
a507adba0ce3
Changes to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
125
diff
changeset
|
87 if p < 0.5: |
a507adba0ce3
Changes to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
125
diff
changeset
|
88 self.nb_ratures= 1 |
a507adba0ce3
Changes to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
125
diff
changeset
|
89 else: |
a507adba0ce3
Changes to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
125
diff
changeset
|
90 if p < 0.8: |
a507adba0ce3
Changes to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
125
diff
changeset
|
91 self.nb_ratures = 2 |
a507adba0ce3
Changes to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
125
diff
changeset
|
92 else: |
a507adba0ce3
Changes to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
125
diff
changeset
|
93 self.nb_ratures = 3 |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
94 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
95 #Creation de la "patch" de rature qui sera appliquee sur l'image |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
96 if self.faire == 1: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
97 self.get_size() |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
98 self.get_image_rot() #On fait la "patch" |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
99 |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
100 else: |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
101 self.faire=0 #On ne fait rien si complexity=0 !! |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
102 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
103 return self._get_current_parameters() |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
104 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
105 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
106 def get_image_rot(self): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
107 image2=(self.d[self.numero].reshape((32,32))[self.haut:self.bas,self.gauche:self.droite]) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
108 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
109 im = Image.fromarray(numpy.asarray(image2*255,dtype='uint8')) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
110 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
111 #La rotation et le resize sont de belle qualite afin d'avoir une image nette |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
112 im2 = im.rotate(self.angle,Image.BICUBIC,expand=False) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
113 im3=im2.resize((50,50),Image.ANTIALIAS) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
114 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
115 grosse=numpy.asarray(numpy.asarray(im3)/255.0,dtype='float32') |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
116 crop=grosse[self.haut:self.haut+32,self.gauche:self.gauche+32] |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
117 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
118 self.get_patch(crop) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
119 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
120 def get_patch(self,crop): |
129
a507adba0ce3
Changes to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
125
diff
changeset
|
121 smooting = numpy.ones((self.smooth,self.smooth)) |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
122 #Il y a deux erosions afin d'avoir un beau resultat. Pas trop large et |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
123 #pas trop mince |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
124 trans=scipy.ndimage.morphology.grey_erosion\ |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
125 (crop,size=smooting.shape,structure=smooting,mode='wrap') |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
126 trans1=scipy.ndimage.morphology.grey_erosion\ |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
127 (trans,size=smooting.shape,structure=smooting,mode='wrap') |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
128 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
129 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
130 patch_img=Image.fromarray(numpy.asarray(trans1*255,dtype='uint8')) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
131 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
132 patch_img2=patch_img.crop((4,4,28,28)).resize((32,32)) #Pour contrer les effets de bords ! |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
133 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
134 trans2=numpy.asarray(numpy.asarray(patch_img2)/255.0,dtype='float32') |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
135 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
136 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
137 #Tout ramener entre 0 et 1 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
138 trans2=trans2-trans2.min() #On remet tout positif |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
139 trans2=trans2/trans2.max() |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
140 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
141 #La rayure a plus de chance d'etre en bas ou oblique le haut a 10h |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
142 if random.random() <= 0.5: #On renverse la matrice dans ce cas |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
143 for i in xrange(0,32): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
144 self.patch[i,:]=trans2[31-i,:] |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
145 else: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
146 self.patch=trans2 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
147 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
148 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
149 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
150 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
151 def get_size(self): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
152 image=self.d[self.numero].reshape((32,32)) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
153 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
154 #haut |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
155 for i in xrange(0,32): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
156 for j in xrange(0,32): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
157 if(image[i,j]) != 0: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
158 if self.haut == -1: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
159 self.haut=i |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
160 break |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
161 if self.haut > -1: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
162 break |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
163 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
164 #bas |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
165 for i in xrange(31,-1,-1): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
166 for j in xrange(0,32): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
167 if(image[i,j]) != 0: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
168 if self.bas == -1: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
169 self.bas=i |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
170 break |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
171 if self.bas > -1: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
172 break |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
173 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
174 #gauche |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
175 for i in xrange(0,32): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
176 for j in xrange(0,32): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
177 if(image[j,i]) != 0: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
178 if self.gauche == -1: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
179 self.gauche=i |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
180 break |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
181 if self.gauche > -1: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
182 break |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
183 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
184 #droite |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
185 for i in xrange(31,-1,-1): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
186 for j in xrange(0,32): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
187 if(image[j,i]) != 0: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
188 if self.droite == -1: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
189 self.droite=i |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
190 break |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
191 if self.droite > -1: |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
192 break |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
193 |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
194 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
195 def _get_current_parameters(self): |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
196 return [self.angle,self.numero,self.faire,self.crop_haut,self.crop_gauche,self.largeur_bande,self.smooth,self.nb_ratures] |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
197 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
198 def transform_image(self, image): |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
199 if self.faire == 0: #Rien faire !! |
58
fd02fd7e6557
Contraste de rature plus prononce, il y a maintenant rature avec proba=complexity, la clarte et la largeur de la bande ont maintenant une composante aleatoire
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
37
diff
changeset
|
200 return image |
fd02fd7e6557
Contraste de rature plus prononce, il y a maintenant rature avec proba=complexity, la clarte et la largeur de la bande ont maintenant une composante aleatoire
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
37
diff
changeset
|
201 |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
202 if self.fini == 0: #S'il faut rajouter des couches |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
203 patch_temp=self.patch |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
204 for w in xrange(1,self.nb_ratures): |
125
5d3a7a4e30e9
little changes in Rature and occlusion to fit with visualisation
Xavier Glorot <glorotxa@iro.umontreal.ca>
parents:
121
diff
changeset
|
205 self.regenerate_parameters(self.complexity,1) |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
206 for i in xrange(0,32): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
207 for j in xrange(0,32): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
208 patch_temp[i,j]=max(patch_temp[i,j],self.patch[i,j]) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
209 self.fini=1 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
210 self.patch=patch_temp |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
211 |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
212 for i in xrange(0,32): |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
213 for j in xrange(0,32): |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
214 image[i,j]=max(image[i,j],self.patch[i,j]) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
215 self.patch*=0 #Remise a zero de la patch (pas necessaire) |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
216 return image |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
217 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
218 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
219 #---TESTS--- |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
220 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
221 def _load_image(): |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
222 f = open('/home/sylvain/Dropbox/Msc/IFT6266/donnees/lower_test_data.ft') #Le jeu de donnees est en local. |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
223 d = ft.read(f) |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
224 w=numpy.asarray(d[0:1000]) |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
225 return (w/255.0).astype('float') |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
226 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
227 def _test(complexite): |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
228 img=_load_image() |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
229 transfo = Rature() |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
230 for i in xrange(0,10): |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
231 img2=img[random.randint(0,1000)] |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
232 pylab.imshow(img2.reshape((32,32))) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
233 pylab.show() |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
234 print transfo.get_settings_names() |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
235 print transfo.regenerate_parameters(complexite) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
236 img2=img2.reshape((32,32)) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
237 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
238 img2_trans=transfo.transform_image(img2) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
239 |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
240 pylab.imshow(img2_trans.reshape((32,32))) |
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
241 pylab.show() |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
242 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
243 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
244 if __name__ == '__main__': |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
245 from pylearn.io import filetensor as ft |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
246 import pylab |
121
4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
75
diff
changeset
|
247 _test(1) |
37
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
248 |
5848e88f7a7a
Ajout de rature verticale, horizontale ou blique sur l'image. Compatible avec testmod.py
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
249 |