Matrice de coocurense

cs_rania14 Messages postés 1 Date d'inscription vendredi 3 décembre 2010 Statut Membre Dernière intervention 7 mars 2011 - 7 mars 2011 à 11:48
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 - 7 mars 2011 à 15:38
Bonjour, j'ai écris un code java de ce matrice(16x16) avec d=1, angle=0 mais à l'étape de l'exécution il se bloque à un certain niveau et il me donne l'erreur suivant :
"java.lang.ArrayIndexOutOfBoundsException: 95"

code:
largeur=imagesrc.getHeight();
longueur=imagesrc.getWidth();
matg=new int[longueur][largeur];//matrice de l'image en niveau de gris en 16 bins
matcoo=new int [16][16];

for (int i=0;i<16;i++)
{
for(int j=0;j<16;j++)
{
int s=0;
for (int u=0;u<longueur;u++)
{
for (int v=0;v<largeur;v++)
{
if ((u+1<=largeur)&&(v+1<=longueur))
{
if ((matg[u][v]==i)&&(matg[u][v+1]==j))
s=s+1;

}
}
}
}
matcoo[i][j]=s;
}
merci d'avance :)

1 réponse

cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
7 mars 2011 à 15:38
Salut,

if ((u+1<=largeur)&&(v+1<=longueur))
Il est bizarre ce test non? t'as pas inversé largeur et longueur?

Sinon, vu que tu accèdes à l'index v+1, il faut limiter l'itération en conséquence :
for (int v=0;v<largeur-1;v++)
0
Rejoignez-nous