Précédent   Forum des professionnels en informatique > Environnements de développement > MATLAB > Images
Images Forum d'entraide sur le traitement d'images en MATLAB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2012, 21h25   #1
Membre à l'essai
 
Enseignant Chercheur
Inscription : décembre 2011
Messages : 98
Détails du profil
Informations professionnelles :
Activité : Enseignant Chercheur

Informations forums :
Inscription : décembre 2011
Messages : 98
Points : 20
Points : 20
Par défaut Subscripted assignment dimension mismatch.

bonsoir

j'ai eu cette erreur dans mon code MATLAB:
?? Subscripted assignment dimension mismatch.

Error in ==> LKTrackWrapper at 31
	X2(:,1) = X1;

Error in ==> calcultrajectoires at 57
[X Y]=LKTrackWrapper(imgseq);

Error in ==> test at 102
    [X{ii} Y{ii}]= calcultrajectoires(video);
j'ai trouvé dans le forum une question similaire (http://www.developpez.net/forums/d32...sion-mismatch/) résolue en mettant clear au début, mais dans mon cas j'ai déjà clear et j'ai encore l'erreur.

Quelqu'un peut m'aider?
syki.mail est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 21h34   #2
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 3 598
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2009
Messages : 3 598
Points : 6 829
Points : 6 829
Bonjour,

>> Subscripted assignment dimension mismatch.
Les dimensions de X1 et X2 ne correspondent tout simplement pas.
__________________
Débutant en MATLAB? Vous voulez faire une Interface Graphique? Les Tutoriels et la FAQ sont là pour vous aider
Une erreur? FAQ : Messages d'erreur et avertissements
"Ça ne marche pas" n'est pas une réponse acceptable Expliquez clairement votre problème (erreurs, résultats non attendus...).
Citation:
En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
Je suis régulièrement sur le chat DVP - Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 06h51   #3
Membre à l'essai
 
Enseignant Chercheur
Inscription : décembre 2011
Messages : 98
Détails du profil
Informations professionnelles :
Activité : Enseignant Chercheur

Informations forums :
Inscription : décembre 2011
Messages : 98
Points : 20
Points : 20
bonjour

je reviens a cette erreur: "Subscripted assignment dimension mismatch" provient de la ligne 20
je suis entrain de traiter des vidéos, avec 65 vidéos j'ai pas eu cette erreur, la 66ieme vidéo je code s'arrete et ce message s'afiche.
je pense pas que c'est le pb de dimension de x1 et x2.
voila la portion de code
imgseq: contient les informations concernant la taille des données a traiter.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if nargin > 0 % image sequence or video
	[M N imgNum] = size(imgseq);
	maxPtsNum = 50;
                
	if ~exist('Y1','var')
        %[X1 Y1]=SurfPoint (imgseq(:,:,1));

		[Y1 X1] = corner_ST(imgseq(:,:,1),maxPtsNum);
      
        size([Y1 X1]);
		borderTh = 10;
		discard = Y1<borderTh | Y1>M-borderTh |...
			X1<borderTh | X1>N-borderTh; 
		Y1 = Y1(~discard);
		X1 = X1(~discard);
	end

	X2 = zeros(length(X1),imgNum);
	Y2 = zeros(length(X1),imgNum);
	X2(:,1) = X1;
	Y2(:,1) = Y1;
merci de me repondre
syki.mail est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 10h08   #4
Dut
Rédacteur/Modérateur
 
Avatar de Dut
 
Inscription : novembre 2006
Messages : 12 915
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2006
Messages : 12 915
Points : 15 889
Points : 15 889
Ajout le bout de code suivant juste avant la ligne X2(:,1) = X1;

et montre nous ce MATLAB renvoie dans le Command windows
__________________
Mes contributions MATLAB (R2009a - Windows & Linux)

• J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" (Saint Huck)
• Des larmes coulèrent doucement des yeux fermés du vieil homme. Moi je pleurais comme un enfant, que d'ailleurs pour lui je ne cesserais d'être ma vie durant (Amkoullel)

• Lâché de Mogwai sur St Malo... aie aie aie... ouille ouille ouille
Dut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 10h15   #5
Membre à l'essai
 
Enseignant Chercheur
Inscription : décembre 2011
Messages : 98
Détails du profil
Informations professionnelles :
Activité : Enseignant Chercheur

Informations forums :
Inscription : décembre 2011
Messages : 98
Points : 20
Points : 20
voila j'ai exécuté avec une seul séquence:

Code :
1
2
3
4
5
6

Name       Size             Bytes  Class     Attributes

  X1        16x1                128  double              
  X2        16x180            23040  double
syki.mail est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 10h20   #6
Dut
Rédacteur/Modérateur
 
Avatar de Dut
 
Inscription : novembre 2006
Messages : 12 915
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2006
Messages : 12 915
Points : 15 889
Points : 15 889
Citation:
Envoyé par syki.mail Voir le message
voila j'ai exécuté avec une seul séquence:
Il faudrait exécuter le code jusqu'à l'erreur donc jusqu'à l'itération 66 (si j'ai bien compris), et nous montrer le résultat du dernier passage sur WHOS
__________________
Mes contributions MATLAB (R2009a - Windows & Linux)

• J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" (Saint Huck)
• Des larmes coulèrent doucement des yeux fermés du vieil homme. Moi je pleurais comme un enfant, que d'ailleurs pour lui je ne cesserais d'être ma vie durant (Amkoullel)

• Lâché de Mogwai sur St Malo... aie aie aie... ouille ouille ouille
Dut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 10h29   #7
Membre à l'essai
 
Enseignant Chercheur
Inscription : décembre 2011
Messages : 98
Détails du profil
Informations professionnelles :
Activité : Enseignant Chercheur

Informations forums :
Inscription : décembre 2011
Messages : 98
Points : 20
Points : 20
ok
je vais réduire le code pour cette fonction et l’exécuter sur tt les vidéo

a+
syki.mail est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 10h37   #8
Dut
Rédacteur/Modérateur
 
Avatar de Dut
 
Inscription : novembre 2006
Messages : 12 915
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2006
Messages : 12 915
Points : 15 889
Points : 15 889
Citation:
Envoyé par syki.mail Voir le message
dure 10 heures a peu prés
Ah

Tu n'est pas obligé de faire tourner tout le code.
Tu epux certainement commencer la boucle autour de 66, non ?

__________________
Mes contributions MATLAB (R2009a - Windows & Linux)

• J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" (Saint Huck)
• Des larmes coulèrent doucement des yeux fermés du vieil homme. Moi je pleurais comme un enfant, que d'ailleurs pour lui je ne cesserais d'être ma vie durant (Amkoullel)

• Lâché de Mogwai sur St Malo... aie aie aie... ouille ouille ouille
Dut est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/03/2012, 10h40   #9
Membre à l'essai
 
Enseignant Chercheur
Inscription : décembre 2011
Messages : 98
Détails du profil
Informations professionnelles :
Activité : Enseignant Chercheur

Informations forums :
Inscription : décembre 2011
Messages : 98
Points : 20
Points : 20
Citation:
Envoyé par Dut Voir le message
Ah

Tu n'est pas obligé de faire tourner tout le code.
Tu epux certainement commencer la boucle autour de 66, non ?

non je pense ,puisque le choix de la vidéo a exécuter est aléatoire.
syki.mail est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 10h51   #10
Membre à l'essai
 
Enseignant Chercheur
Inscription : décembre 2011
Messages : 98
Détails du profil
Informations professionnelles :
Activité : Enseignant Chercheur

Informations forums :
Inscription : décembre 2011
Messages : 98
Points : 20
Points : 20
voila a l'iteration 66 j'obtien la meme erreur(resutat de whos pour les 3 dernier iterations)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Name       Size             Bytes  Class     Attributes

  X1        23x1                184  double              
  X2        23x214            39376  double              

  Name      Size             Bytes  Class     Attributes

  X1        0x1                  0  double              
  X2        0x167                0  double              

  Name      Size             Bytes  Class     Attributes

  X1        0x0                  0  double              
  X2        0x157                0  double              

??? Subscripted assignment dimension mismatch.

Error in ==> LKTrackWrapper at 35
	X2(:,1) = X1;

Error in ==> calcultrajectoires at 72
[X Y]=LKTrackWrapper(imgseq);

Error in ==> test at 86
    [X Y]= calcultrajectoires(video);
syki.mail est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 10h54   #11
Dut
Rédacteur/Modérateur
 
Avatar de Dut
 
Inscription : novembre 2006
Messages : 12 915
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2006
Messages : 12 915
Points : 15 889
Points : 15 889
L'erreur semble donc découler de l'une des deux lignes suivantes :

Code :
[Y1 X1] = corner_ST(imgseq(:,:,1),maxPtsNum);
ou

__________________
Mes contributions MATLAB (R2009a - Windows & Linux)

• J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" (Saint Huck)
• Des larmes coulèrent doucement des yeux fermés du vieil homme. Moi je pleurais comme un enfant, que d'ailleurs pour lui je ne cesserais d'être ma vie durant (Amkoullel)

• Lâché de Mogwai sur St Malo... aie aie aie... ouille ouille ouille
Dut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 11h11   #12
Membre à l'essai
 
Enseignant Chercheur
Inscription : décembre 2011
Messages : 98
Détails du profil
Informations professionnelles :
Activité : Enseignant Chercheur

Informations forums :
Inscription : décembre 2011
Messages : 98
Points : 20
Points : 20
Citation:
Envoyé par Dut Voir le message
L'erreur semble donc découler de l'une des deux lignes suivantes :

Code :
[Y1 X1] = corner_ST(imgseq(:,:,1),maxPtsNum);
ou

le problème due a une seul vidéo, j'ai regarder dans ses propriété je voix qu'elle a les mêmes options que les autres.
syki.mail est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 11h49   #13
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 3 598
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2009
Messages : 3 598
Points : 6 829
Points : 6 829
Oui c'est une question de dimension : dans la ligne X2(:,1) = X1; X1 et X2 sont sensés avoir la même taille selon la première dimension. Et apparemment à l'itération 66, au moins l'une des deux lignes que te présente Dut change cette dimension.

[EDIT]Après réflexion, regarde la ligne
X1        0x0                  0  double           
Ta variable X1 est vide, et c'est ce qui provoque ton erreur. Utilise la fonction isempty.
__________________
Débutant en MATLAB? Vous voulez faire une Interface Graphique? Les Tutoriels et la FAQ sont là pour vous aider
Une erreur? FAQ : Messages d'erreur et avertissements
"Ça ne marche pas" n'est pas une réponse acceptable Expliquez clairement votre problème (erreurs, résultats non attendus...).
Citation:
En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
Je suis régulièrement sur le chat DVP - Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2012, 12h17   #14
Membre à l'essai
 
Enseignant Chercheur
Inscription : décembre 2011
Messages : 98
Détails du profil
Informations professionnelles :
Activité : Enseignant Chercheur

Informations forums :
Inscription : décembre 2011
Messages : 98
Points : 20
Points : 20
Citation:
Envoyé par Winjerome Voir le message
Oui c'est une question de dimension : dans la ligne X2(:,1) = X1; X1 et X2 sont sensés avoir la même taille selon la première dimension. Et apparemment à l'itération 66, au moins l'une des deux lignes que te présente Dut change cette dimension.
Une seule vidéo a provoqué ce problème. Pourtant j'ai regardé ses propriétés je trouve que c'est les mêmes que les autres!!
syki.mail est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h05.


 
 
 
 
Partenaires

Hébergement Web