IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

[débutant] matrice de cooccurrence


Sujet :

Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut [débutant] matrice de cooccurrence
    Bonjour,

    J'essaie de coder la matrice de la cooccurrence en java, mais j'ai du mal à commencer. J'ai l'algorithme de calcul pour une direction donnée (0°):

    Variables d’entrée :

    W : Masque centré autour d’un pixel de l’image (W est

    Une matrice de taille Tx par Ty) ;

    L : Nombre maximal de niveaux de gris de l’image ;

    Variable de sortie :

    MCOOC : Matrice de cooccurrence (C’est un tableau

    Bidimensionnel de réels) ;

    Variables locales :

    i, j, x, y : Entiers ;

    MCOOCs : Tableau de type matrice de cooccurrence ;


    Début

    Pour j variant de 0 à L-1 Faire

    Pour i variant de 0 à L-1 Faire

    MCOOC[i,j] 0 ;

    Pour y variant de 0 à Ty-1 Faire

    Pour x variant de 0 à Tx-2 Faire

    Début

    I W[x,y]

    J W[x+1,y]

    MCOOC[I,J] MCOOC[I,J] + 1 ;

    Fin

    MCOOCs Symétrique de MCOOC ;

    Pour j variant de 0 à L-1 Faire

    Pour i variant de 0 à L-1 Faire

    MCOOC[i,j] ((1/2)*(MCOOC[i,j]+MCOOCs[i,j])/(2*Ty*(Tx-1)));
    Quelqu'un pourrait me donner des indices pour débuter le code svp.
    Merci.

  2. #2
    Membre éclairé

    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 510
    Points : 803
    Points
    803
    Par défaut
    Variables locales :

    i, j, x, y : Entiers ;

    MCOOCs : Tableau de type matrice de cooccurrence ;


    Début

    Pour j variant de 0 à L-1 Faire

    Pour i variant de 0 à L-1 Faire

    MCOOC[i,j] 0 ;

    Pour y variant de 0 à Ty-1 Faire

    Pour x variant de 0 à Tx-2 Faire

    Début

    I W[x,y]

    J W[x+1,y]

    MCOOC[I,J] MCOOC[I,J] + 1 ;

    Fin

    MCOOCs Symétrique de MCOOC ;

    Pour j variant de 0 à L-1 Faire

    Pour i variant de 0 à L-1 Faire

    MCOOC[i,j] ((1/2)*(MCOOC[i,j]+MCOOCs[i,j])/(2*Ty*(Tx-1)));
    quel est la question exactement ? toutes les étapes sont écrites alors précise un peu quel est ta demande.... Si c'est un code tout fait tu t'es trompé de forum mais si tu as un probleme en codant, pose une question précise sur la partie qui te pose probleme.
    "La seule chose dont je sois certain, c'est que je doute"
    j'ai cassé ma boule de cristal veuillez être clair et précis dans vos propos
    compilateur - 1 nayah - 0
    PS : je suis un

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    non, je n'attends pas de code tout fait, mais une aide à démarrer.
    Là, je dois faire un tableau. Est-ce que ça sera un tableau de tableau, ou juste un tableau?
    Désolé, j'aurai du être plus précis.
    Merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 73
    Points : 75
    Points
    75
    Par défaut
    Bonjour Rasel,

    Citation Envoyé par rasel Voir le message
    Est-ce que ça sera un tableau de tableau, ou juste un tableau?
    Tout dépend de la variable.

    Par exemple : Tx et Ty peuvent être des tableaux de type entier ou float (je ne sais pas).

    Ensuite pour les matrices, cela peut être des tableaux a deux dimensions.

    A+

    PS : Regarde ce lient pour te donner des idées. http://www.developpez.net/forums/sho...d.php?t=481048
    Lire c'est apprendre, faire c'est comprendre.

  5. #5
    Membre éclairé

    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 510
    Points : 803
    Points
    803
    Par défaut
    bon alors si ton probleme concerne la matrice réfléchissons: dans ton cas, il s'agit d'une matrice 2 colonnes c'est ca ?

    alors premierement tu peux déclarer ta matrice exactement comme un tableau par exemple :

    ici j'ai déclarer une matrice de 10 lignes et 10 colonnes.
    une matrice fonctionne exactement comme un tableau par exemple si tu veux afficher toutes les lignes de ta matrice:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int tab[10][10];
    for (i=0;i<10;i++){
        System.out.println(tab[i][1]);
    }
    dans tab[i][j], i = numéro de lignes et j numéro de la colonne. il s'agit des tableau multidimensionnel
    "La seule chose dont je sois certain, c'est que je doute"
    j'ai cassé ma boule de cristal veuillez être clair et précis dans vos propos
    compilateur - 1 nayah - 0
    PS : je suis un

  6. #6
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    un exemple de calcul de matrice de co-occurence en java est donné dans le forum "Algorithmes/Traitement d'images/Contribuez". Il s'applique au traitement d'image et plus particulièrement à l'analyse de texture.
    La taille de la matrice dépend du nombre de niveaux de gris sur lequel tu souhaites travailler.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci pour vos réponses.
    Je vais suivre vos conseils et les liens pour avancer.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    J'ai étudié les liens que vous m'aviez conseillé et essayé de l'adapter à la matrice de cooccurrence, mais j'ai deux erreurs sur la partie de calcul de cooccurrence:
    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
    21
    22
    23
     
    // calcul des co-occurences
    		int sum=0;
    		int height = image.getHeight(null);
    		int width = image.getWidth(null);
    		for(int y0=0;y0<height;y0++) {
    			for(int x0=0;x0<width;x0++) {
    				// pour chaque pixel
    				int v0 = (int)(MSIZE*this.image.getValue((x0),y0)/256.0);
     
    				// on cherche le voisin
    				int x1 = x0 + dx;
    				if (x1<0 || x1>=width) continue;
    				int y1 = y0 + dy;
    				if (y1<0 || y1>=height) continue;
    				int v1 = (int)(MSIZE*this.image.getValue((x1),y1)/256.0);
     
    				// on incremente la matrice
    				matrix[v0][v1]++;
    				matrix[v1][v0]++;
    				sum+=2;
    			}
    		}
    Les erreurs sont les suivantes:
    Note: sun.tools.javac.Main has been deprecated.
    C:\Program Files\ImageJ\plugins\Matrice_Co.java:89: Method getValue(int, int) not found in class java.awt.Image.
    int v0 = (int)(MSIZE*this.image.getValue((x0),y0)/256.0);
    ^
    C:\Program Files\ImageJ\plugins\Matrice_Co.java:96: Method getValue(int, int) not found in class java.awt.Image.
    int v1 = (int)(MSIZE*this.image.getValue((x1),y1)/256.0);
    ^
    2 errors, 1 warning
    J'ai cherché dans api d'image pour remplacer la méthode "getValue" par "getScaledInstance(int width, int height, int hints) "
    avec width = x0 et height = y0 (dans mon cas), mais c'est quoi "hints"?
    (même celle-ci provoque des erreurs)
    Est-ce que c'est la bonne méthode? Ou y a-t-il une autre qui est mieux adaptée?

    Merci d'avance.

    PS: je travaille sur imageJ et essaye d'y mettre le plugin de la matrice de cooccurrence pour analyser la texture d'une image.

Discussions similaires

  1. Matrice de cooccurrences pour la comparaison de deux images
    Par bilzzbenzbilz dans le forum Traitement d'images
    Réponses: 28
    Dernier message: 01/07/2017, 16h12
  2. Réponses: 11
    Dernier message: 01/04/2010, 11h22
  3. Extraction de la matrice de cooccurrence
    Par appolin dans le forum Images
    Réponses: 15
    Dernier message: 14/11/2008, 18h25
  4. Matrice de cooccurrence
    Par chibane1979 dans le forum Traitement d'images
    Réponses: 6
    Dernier message: 26/09/2007, 19h11
  5. [3D] [Débutant] Matrices de ransformation
    Par Pedro dans le forum Développement 2D, 3D et Jeux
    Réponses: 22
    Dernier message: 23/01/2006, 01h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo