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

Traitement d'images Discussion :

Recherche d'algorithmes pour l'analyse de la texture


Sujet :

Traitement d'images

  1. #61
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Je ne connais pas de solution universelle pour l'analyse de texture.

    Mais pour commencer, je te conseille de toujours découper toutes tes images en carrés de taille X*X.

  2. #62
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Points : 18
    Points
    18
    Par défaut
    c'est trés bien, merci.
    seulement une question que j'ai oublié de posé avant :
    pourquoi le decoupage est recommandé??. et pourquoi en zones(fenetres) carrée??. je dit ça parceque j'ai une autre solution qui me vient à la tete:
    faire un decoupage de l'image en zones non egaux et donc pas besoin d'ignorer les bords ou de chevaucher.qu'est ce que tu pense??

  3. #63
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par nounadevelop Voir le message
    pourquoi le decoupage est recommandé??. et pourquoi en zones(fenetres) carrée??.
    Pour la même raison qu'on calculee la matrice de co-occurence dans toutes les directions: c'est pour être le moins possible dépendant de l'orientation de l'image. L'ideal c'est de prendre des fenêtres circulaires, mais le carré est suffisant.

  4. #64
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Points : 18
    Points
    18
    Par défaut
    je comprends pas vraiment. qu'est ce qu'un carré ou rectangle ou cercle a avoir avec les directions??

  5. #65
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par nounadevelop Voir le message
    je comprends pas vraiment. qu'est ce qu'un carré ou rectangle ou cercle a avoir avec les directions??
    Hum... c'est vrai que c'est pas évident à comprendre.

    Le plus simple c'est que tu prennes 2 images indentiques:
    * tu découpes la 1ere image en bandes horizontales.
    * tu prend la 2nde image, tu la fais pivoter de 90° et du la découpes également en bandes horizontales.

    tu verra que les bandes horizontales de la 1ere images et celles de la 2nde image ne se ressemblent pas.

    Tu refais la meme manipulation en découpant les images en carrés et tu verras qu'il y a des carrés qui se ressemblent (à une rotation près).

  6. #66
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Points : 18
    Points
    18
    Par défaut
    d'accord c'est clair maintenant. merci.

    pour ce qui est methode de decoupage, je pense que la methode qui ignore les bords est plus simple. non??

  7. #67
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par nounadevelop Voir le message
    pour ce qui est methode de decoupage, je pense que la methode qui ignore les bords est plus simple. non??
    Oui. c'est la plus simple et en même temps il y a peu de chance que la partie intéressante d'une image soir sur un bord. Généralement, c'est plutôt au milieu.

  8. #68
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Points : 18
    Points
    18
    Par défaut
    trés bien. je vais opter pour ça.

    maintenant mes images ont des dimensions trés eloigné :
    86*126, 79*85, ...ou bien encore 600*892...et meme ceux que j'ignore (ces des images que google me renvoit donc je ne connait pas la taille a priori), donc ma question comment choisir la taille de ma fenetre (les carrées) pour faire un bon decoupage ??. est ce que 3*3 est trop petit?? 9*9 est bon?? 17*17 est trop grand??.

  9. #69
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par nounadevelop Voir le message
    donc ma question comment choisir la taille de ma fenetre (les carrées) pour faire un bon decoupage ??. est ce que 3*3 est trop petit?? 9*9 est bon?? 17*17 est trop grand??.
    C'est un grand problème auquel je n'ai pas de solution magique.

    Personnellement, j'utilise la méthode du split/merge:

    je découpe l'image en zones de grande taille (256x256) et je calcule les caractéristiques dans chaque zone. Si les caractéristiques d'une zone sont celles d'une texture connue, j'arrête la. Sinon je redécoupe la zone en 4 zones plus petites (128x128) et je recalcule les caractéristiques dans ces 4 zones. En ainsi de suite jusqu'à ce que toutes les zones soient reconnues, ou que j'ai atteint une taille limite (8x8) .

    Cette méthode implique d'avoir une base des textures connues.

  10. #70
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Points : 18
    Points
    18
    Par défaut
    bonjour,

    Cette méthode implique d'avoir une base des textures connues.
    tu peut m'expliquer d'avantage??.

    merci d'avance.

  11. #71
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par nounadevelop Voir le message
    tu peut m'expliquer d'avantage??.
    et bien il va falloir comparer le vecteur de caracteristiques de chaque fenêtre à des vecteurs de caracteristiques connus.

    Ces vecteurs de caracteristiques connus sont précalculés à partir de zones choisies manuellement sur des images de référence.

  12. #72
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Points : 18
    Points
    18
    Par défaut
    Ces vecteurs de caracteristiques connus sont précalculés à partir de zones choisies manuellement sur des images de référence.
    tu veut dire que pour les images de ma base de données(et qui vont former ma base de test), pour chaque image je choisi une zone(pas dans le sens de fenetres de decoupage) que je juge interessante. c'est ça?

  13. #73
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par nounadevelop Voir le message
    tu veut dire que pour les images de ma base de données(et qui vont former ma base de test), pour chaque image je choisi une zone(pas dans le sens de fenetres de decoupage) que je juge interessante. c'est ça?
    Oui c'est exactement ca.

  14. #74
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Points : 18
    Points
    18
    Par défaut
    bonjour,

    j'avoue que je suis un peu perdu dans cette histoire

    d'un coté tu me dit qu'il faut découper l'image en carrées de X*X , et de l'autre coté pour chaque image de ma BDD je choisi une seul zone d'interet???????????????

  15. #75
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par nounadevelop Voir le message
    d'un coté tu me dit qu'il faut découper l'image en carrées de X*X , et de l'autre coté pour chaque image de ma BDD je choisi une seul zone d'interet???????????????
    Pas forcément "une seule" zone.

    L'idée c'est que ta base de références contient des "vignettes" (= des petits carrés d'images) pour lesquelles tu as MANUELLEMENT reconnu le type de la texture.

    Par exemple, dans base de références, tu peux avoir:
    - 25 vignettes de type "ecriture sur fond uniforme"
    - 19 vignettes de type "ecriture sur fond avec motif #1"
    - 11 vignettes de type "fond avec motif #1 sans ecriture"
    - 5 vignettes de type "fond uniforme"
    ...

    Ensuite, tu découpes ta NOUVELLE image à analyser en petits carrés X*X et tu compares le vecteur de caracteristiques de chaque carré X*X avec le vecteur de caracteristiques de chaque vignette de ta base de références.

    A la fin, tu va obtenir pour cette NOUVELLE image une estimation de son contenu, par exemple:
    50% "ecriture arabe sur fond uniforme"
    20% "fond uniforme sans ecriture"
    30% non indentifié

  16. #76
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Points : 18
    Points
    18
    Par défaut
    bon d'accord je reviens sur ça aprés..parceque j'aimerais posé des questions sur ton code JAVA (avant d'attaquer le decoupage):

    1) pour ton code JAVA tu n'a pas fait le decoupage:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(int y0=0;y0<height;y0++) {
    for(int x0=0;x0<width;x0++)
    le calcule de la matrice de coocurrence pour toute l'image t'a donner de meilleur resultat ou quoi??

    2)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    "Arrays.fill(px_y, 0);"
     
    ou bien encore :
     
    "for(int i=0;i<MSIZE;i++) 
    Arrays.fill(matrix[i], 0);"
    c'est pour initialiser à 0 (tableau et matrice). c'est ça?

  17. #77
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par nounadevelop Voir le message
    1) pour ton code JAVA tu n'a pas fait le decoupage:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(int y0=0;y0<height;y0++) {
    for(int x0=0;x0<width;x0++)
    le calcule de la matrice de coocurrence pour toute l'image t'a donner de meilleur resultat ou quoi??
    Non je n'ai pas fait de découpage. Le code est un exemple d'implémentation pour le calcul de la matrice de co-ocurrence. Ce n'est pas une solution clé-en-amin pour la reconnaissance de textures dans une image.

    2)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    "Arrays.fill(px_y, 0);"
     
    ou bien encore :
     
    "for(int i=0;i<MSIZE;i++) 
    Arrays.fill(matrix[i], 0);"
    c'est pour initialiser à 0 (tableau et matrice). c'est ça?
    oui, c'est ca. Ce n'est pas utile de le faire en Java car les structures sont initialisées à 0 par défaut. Je l'ai quand meme fait pour aider ceux qui voudraient porter le code dans un autre langage.

  18. #78
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Points : 18
    Points
    18
    Par défaut
    bonsoir,

    j'ai essayer de calculer la matrice de coocurrence pour une de mes images(sans faire de decoupage, bon je sait qu'il faut le faire, mais sait juste un essai). et j'ai eu comme resultats(les caracteristiques):
    f1=0,000249
    f2=868,63
    f3=0,00026
    f4=3321,499
    f5=0,1224
    f6=683,60
    f7=5728469,75
    f8=9,980
    f9=8,80
    f10=523,9
    f11=3,86

    que pense tu de ces resultats? je veut dire comment je peut savoir que les resultats sont bon?(comme par exemple le f7=5728469,75 est ce que c'est normale d'avoir une telle valeur pour le f7).

  19. #79
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par nounadevelop Voir le message
    que pense tu de ces resultats? je veut dire comment je peut savoir que les resultats sont bon?(comme par exemple le f7=5728469,75 est ce que c'est normale d'avoir une telle valeur pour le f7).
    Je ne peux pas te dire si c'est "juste", mais c'est le genre de valeurs que je trouve habituellement.

  20. #80
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Points : 18
    Points
    18
    Par défaut
    une autre question concernant ton code JAVA,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // F6 - Moyenne des sommes
    	private double getF6() {
    		double sumavg=0;
    		for(int k=2;k<2*MSIZE-1;k++) {
    			sumavg+=k*pxy[k];
    		}
    		return sumavg;
    	}
    tu est sur que (k<2*MSIZE-1) ??
    il me semble que c'est (k<=2*MSIZE-1) ou bien (k<2*MSIZE), non??

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. recherche un algorithme pour mon cas
    Par omarito15 dans le forum Intelligence artificielle
    Réponses: 3
    Dernier message: 13/05/2013, 00h49
  2. Recherche un algorithme pour faire du curve fitting
    Par benoth08 dans le forum Mathématiques
    Réponses: 1
    Dernier message: 20/01/2013, 20h16
  3. Réponses: 2
    Dernier message: 21/09/2012, 16h23
  4. recherche d'un sujet pour une analyse de donnée
    Par Sarah! dans le forum Statistiques, Data Mining et Data Science
    Réponses: 8
    Dernier message: 08/01/2009, 18h18
  5. Recherche d'un algorithme pour calculer un Checksum
    Par noune40 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/11/2006, 10h46

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