Slt.
Voila maintenant je dilate et j'erode avec une vitesse plus que satisfaisante.
Bon le souci c'est que mon element structurant n'est q'une ligne. de type.Et quand je fait un element structurant 2D type carrée ou dodécagones ...Il me renvoi une erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 element= _nd.generate_binary_structure(1,2) print element >>> [1,1,1]
Donc je me suis dit que c'etait a cause des dimensions de mon element structurant.Donc j'ai penser a eroder sur 1D une premiere fois ma matrice puis la transposée puis l'eroder a nouveau.
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 element= _nd.generate_binary_structure(2,2) print element >>>[[1,1,1] [1,1,1] [1,1,1]] >>>Traceback (most recent call last): File "C:\capture\morpho.py", line 28, in ? a=_nd.binary_dilation(im,iterations=1,structure=element) File "C:\Python23\Lib\site-packages\numarray\nd_image\morphology.py", line 198, in binary_dilation output, border_value, origin, 1, brute_force) File "C:\Python23\Lib\site-packages\numarray\nd_image\morphology.py", line 96, in _binary_erosion raise RuntimeError, 'structure rank must equal input rank' RuntimeError: structure rank must equal input rank
C'est n'est pas propre mais cela ne fonction que pour les image carrée
Quant on l'execute sur une image rectangulaire ba ya decalage.
Je ne comprend pas. pourtant ...
C'est bien ca quant on fait des maths avec les mains on nous apprends les matrice
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 matrice=[[1,2,3] [4,5,6] [7,8,9] [10,11,12]] Tmatrice=[[1,4,7,10] [2,5,8,11] [3,6,9,12]] TTmatrice=[[1,2,3] [4,5,6] [7,8,9] [10,11,12]]
la transposé c'est lire une ligne est l'crire en colonne...
J'ai essayer une dilatation avec une matrice sur papier et ca fonctionne meme avec une matrice rectangulaire.l
Bon je cherche a trouver ken meme une solution pour un element structurant carré.. MERCI
Partager