Bonjour,

Voici la matrice "affiche" (initialisée avec la fonction sparse) que j'obtiens pour faire du suivi :
- 1ère colonne: ma numérotation
- kième colonne correspond à la numérotation des objets de l'image k-1

Les objets n'apparaissent pas dans toutes les images! Et les numéros d'objets (étiquettés par bwlabel) et d'image me permettent de remonter aux propriétés géométriques de chaque objet dans chaque image!

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
18
19
20
1	1	1	1	1	1	1	1	1	1	1
2	2	2	2	2	2	2	2	2	2	2
3	4	4	4	4	4	4	4	4	4	4
4	5	5	5	5	5	5	5	5	5	5
5	6	6	6	6	6	6	6	6	6	6
6	8	7	8	8	8	8	8	8	8	
7	9	10	10	10	11	11	10	10	10	
8	11	12	12	12	13	13	13	12	12	11
9	12	13	13	13	14	14	14	13	13	12
10	13	14	14	14	15	15	15	14	14	13
11	14	15	15	15	16	16	16	15	15	14
12	17	18	18	18	19	18	18	18	18	17
13	18									
14	19	19	19	19	20	20	20	19	19	18
15	20	20	20	20	21	21	21	20	20	19
16		8	7	7	7	7	7	7	7	
17					9	9				
18					10	10				
19							11			
20							12
Je souhaiterais en fait pouvoir écrire maintenant un bout de code qui pour chaque ligne me calcule un écart d'orientation. Pour les lignes complètes pas de problèmes mais pour les autres il y a une erreur car il ne peut remonter à un objet numéro 0... n'existe pas en effet!

Je vous met le début de mon idée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
for i=1:20
    ligne{i} = affiche(i,2:end);
    trouve = find(ligne{i} == 0);
    ligne{i}(trouve) = [];
    if length(ligne{i}) == N
        for k=2:N-1
            ecart{i}{k} = cellule{k+1}(affiche(i,k+2)).orientation-cellule{k}(affiche(i,k+1)).orientation;
        end 
    end
end
mais cela ne me donne pas toutes les lignes!!
Comme mon calcul est une différence en colonne, ça peut poser pb pour le début aussi...


N.B.: Et sinon, j'ai, après quelques lignes de code, un tableau de cellules de structures cellule{k}(i)
- k : n° image
- i : n° d'objet est celui donné par la fonction bwlabel après un traitement d'images
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
cellule{k}(i)
ans =         x: 616.0136
              y: 33.6703
           orientation: 27.3231
           temps: 0.3430
           bord: 'assez loin' (ou 'trop près')
           type: 'isolé' (ou 'aggregat')
           interaction: 'non' (ou 'oui') % ce sont les paramètres pour les tests
           image: 10
           objet_Matlab: 21