Publicité
+ Répondre à la discussion
Page 4 sur 8 PremièrePremière 12345678 DernièreDernière
Affichage des résultats 61 à 80 sur 147
  1. #61
    Membre chevronné Avatar de b_reda31
    Homme Profil pro Réda Bentata
    Étudiant
    Inscrit en
    avril 2007
    Messages
    594
    Détails du profil
    Informations personnelles :
    Nom : Homme Réda Bentata
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2007
    Messages : 594
    Points : 624
    Points
    624

    Par défaut

    Bonjour,j'ai encore une toute petite question
    Je suis conscient d'en avoir trop poser ,c'est juste que j'essaie de décortiquer cette algorithme et je ne veux pas que quelque chose m'echappe.C'est important pour moi.
    Ma question concerne le mécanisme d'auto-adaptation et plus précisément la suppressions des points lors d'un rapprochement entre deux point du snake.

    Code java :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    private void removeOverlappingPoints(int minlen) {
    	// for each point of the snake
    	for(int i=0;i<snake.size();i++) {
    		Point cur = snake.get(i);
     
    		// check the other points (right half)
    		for(int di=1+snake.size()/2;di>0;di--) {
    			Point end  = snake.get((i+di)%snake.size());
    			double dist = distance2D(cur,end);
     
    			// if the two points are to close...
    			if ( dist>minlen ) continue;
     
    			// ... cut the "loop" part og the snake
    			for(int k=0;k<di;k++) snake.remove( (i+1) %snake.size() );
    			break;
    		}
    	}
    }

    Cette procédure consiste à vérifier pour chaque point du Snake P la distance entre celui ci et l'ensemble des points qui le succèdent...
    Je ne comprends pas pourquoi ces distances ont été calculer seulement pour la moitié des successeurs ?
    Pourquoi ne pas calculer tous les successeur jusqu'a atteindre le premier noeud du Snake.càd pour un point Pj calculer la distance entre Pj et :
    Pj+1 , Pj+2,...,Pnbpoint,P1
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  2. #62
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro Xavier Philippeau
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Nom : Homme Xavier Philippeau
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 759
    Points
    15 759

    Par défaut

    Citation Envoyé par b_reda31 Voir le message
    Cette procédure consiste à vérifier pour chaque point du Snake P la distance entre celui ci et l'ensemble des points qui le succèdent...
    Je ne comprends pas pourquoi ces distances ont été calculer seulement pour la moitié des successeurs ?
    Comme la mesure de distance est commutative, on aura L(Pi,Pj) = L(Pj,Pi), pout tout i,j. Donc inutile de mesurer 2 fois cette distance.

    Pour cela, il suffit d'imposer de mesurer seulement la distance (Pi,Pj) avec i < j (ou l'inverse) => en terme de code, il suffit de faire commencer la 2nde boucle APRÈS le point courant.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #63
    Membre chevronné Avatar de b_reda31
    Homme Profil pro Réda Bentata
    Étudiant
    Inscrit en
    avril 2007
    Messages
    594
    Détails du profil
    Informations personnelles :
    Nom : Homme Réda Bentata
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2007
    Messages : 594
    Points : 624
    Points
    624

    Par défaut

    Citation Envoyé par pseudocode Voir le message
    Pour cela, il suffit d'imposer de mesurer seulement la distance (Pi,Pj) avec i < j (ou l'inverse) => en terme de code, il suffit de faire commencer la 2nde boucle APRÈS le point courant.
    Mon problème se situait au niveau du nombre n'itérations de la seconde boucle.Elle est répétée NbPoint/2 fois tel que NbPoint représente le nombre de point du Snake.
    Je pensais que de cette manière quelques distances ne seront pas calculées,mais comme vous l'avez dit,la fonction de distance étant commutative,on peut etre sur qu'en se fixant qu'à la moitié des points successeurs toutes les distances possible seront calculées.
    Merci PseudoCode.

    Bonjour.
    Je pensais que l'énergie d'uniformité gérai la tension (l'élasticité) du contour afin de provoquer une rétraction,Or ce n'est pas le cas; cette énergie gère seulement l'équidistance entre les points du Snake.En quoi cela peut influer sur la forme du Snake? En d'autres terme je dirais que contrairement aux autres énergie (Curvature et Externe) je ne vois pas l'influence de l'énergie d'uniformité sur la déformation du Snake.
    Code java :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private double f_uniformity(Point prev, Point next, Point p) {
     
    	// length of previous segment
    	double un = distance2D(prev, p);
     
    	// mesure of uniformity
    	double avg = snakelength/snake.size();
    	double dun = Math.abs(un-avg);
     
    	// elasticity energy
    	return dun*dun;
    }
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  4. #64
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro Xavier Philippeau
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Nom : Homme Xavier Philippeau
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 759
    Points
    15 759

    Par défaut

    Citation Envoyé par b_reda31 Voir le message
    En d'autres terme je dirais que contrairement aux autres énergie (Curvature et Externe) je ne vois pas l'influence de l'énergie d'uniformité sur la déformation du Snake.
    Cette energie empeche que les points du snake s'agglutinent autour d'un meme point de fort gradient, et assure ainsi que les points soient répartis sur tout le périmètre du snake.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #65
    Membre chevronné Avatar de b_reda31
    Homme Profil pro Réda Bentata
    Étudiant
    Inscrit en
    avril 2007
    Messages
    594
    Détails du profil
    Informations personnelles :
    Nom : Homme Réda Bentata
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2007
    Messages : 594
    Points : 624
    Points
    624

    Par défaut

    Bonjour,
    Merci Merci et Merci PseudoCode Pour toute l'aide que vous m'avez apporté au sujet des contours actifs.
    Comme je voulais déjà dis,c'est (les contours actifs) mon thème de fin d'étude et sans votre aide,je ne sais pas si j'aurai pu autant avancer...ou plutôt je ne pense pas.

    En ce moment je suis entrain de me préparer pour ma soutenance,j'essaie d'imaginer toutes les questions que pourront me poser les membres du jury,et ça me fais stressé ,mais bon,grâce à vous je maitrise relativement bien ce que je vais exposer.

    Il y a une question qui est susceptible de m'être poser,cela concerne la forme du contour initial,pourquoi un cercle?
    La réponse qui me vient à la tête est la suivante:
    Puisque le processus de déformation consiste à minimiser l'énergie,la forme de cercle pour le contours initiale a été choisi car un cercle dispose d'une énergie interne minimale (pas de point anguleux) ce qui réduira le nombre d'itération lors du processus de déformation.
    J'ajouterai aussi qu'avec une autre forme (rectangle par ex) de contours initial le résultat peut être le même mais la convergence vers l'objet d'intérêt se fera avec un nombre plus élevé d'itération.


    Que pensez vous de cette réponse?
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  6. #66
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro Xavier Philippeau
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Nom : Homme Xavier Philippeau
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 759
    Points
    15 759

    Par défaut

    Citation Envoyé par b_reda31 Voir le message
    Puisque le processus de déformation consiste à minimiser l'énergie,la forme de cercle pour le contours initiale a été choisi car un cercle dispose d'une énergie interne minimale (pas de point anguleux) ce qui réduira le nombre d'itération lors du processus de déformation.

    Que pensez vous de cette réponse?
    Hum... Je ne suis pas bien sûr que le "nombre d'itérations" soit une réponse valable.

    C'est plutôt que l'algo du snake résout l'équation énergétique itérativement avec un "schéma explicite" (google). Ce genre de résolution est très sensible aux brusques changements, ce qui implique:

    1. de prendre un "pas" de résolution très petit (= le pixel, voir moins)
    2. d'eviter les brusques changements de valeurs dans les énergies

    C'est le point n°2 qui fait préferer le cercle car, comme tu l'as dit, les delta des energies internes autour d'un voisinage sont faibles (le cercle etant une solution de l'equation sans contraintes externes).

    L'idéal etant aussi de limiter les changements de valeurs des energies externes, par exemple en prenant une forme de départ qui "ressemble" à la forme finale.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #67
    Membre chevronné Avatar de b_reda31
    Homme Profil pro Réda Bentata
    Étudiant
    Inscrit en
    avril 2007
    Messages
    594
    Détails du profil
    Informations personnelles :
    Nom : Homme Réda Bentata
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2007
    Messages : 594
    Points : 624
    Points
    624

    Par défaut

    Citation Envoyé par pseudocode Voir le message

    L'idéal etant aussi de limiter les changements de valeurs des energies externes, par exemple en prenant une forme de départ qui "ressemble" à la forme finale.
    J'avais penser à une solution de ce genre,où l'utilisateur peut initialiser (dessiner) un contour manuellement autour de l'objet,ça serait l'idéal comme vous dites.J'essaierai d'ajouter une option "Initialisation avancée" dans mon application .
    Merci encore
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  8. #68
    Membre chevronné Avatar de b_reda31
    Homme Profil pro Réda Bentata
    Étudiant
    Inscrit en
    avril 2007
    Messages
    594
    Détails du profil
    Informations personnelles :
    Nom : Homme Réda Bentata
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2007
    Messages : 594
    Points : 624
    Points
    624

    Par défaut

    Bonjour,
    Citation Envoyé par imlaoj Voir le message
    Les méthodes existantes sont normalement pour une image avec le fond uniforme.
    Non pas forcement,le fond peut contenir une texture,il suffit de bien ajuster la valeur du seuil pour obtenir de bons résultats.
    Voici un exemple de segmentation d'un triangle mis sur un fond avec une texture.
    L'image en entrée a été lissée avec le filtre Median.



    bien entendu si l'image contient plusieurs objets,le contour initial doit être le plus proche possible de l'objet à segmenter,afin de ne pas être attiré vers d'autres contours non significatifs,ce qui donne lieu à une mauvais déformation.
    Grâce à l’énergie externe qu’a proposé PseudoCode pour cette contribution,il devient aussi possible d'initialiser le contour à l'intérieur de l’objet, dans ce cas, au lieu de se rétracter,le contour se gonflera pour prendre la forme de l’objet.
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  9. #69
    Invité de passage
    Inscrit en
    février 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 3
    Points : 1
    Points
    1

    Par défaut Contour actif

    Bonjour,
    J'ai testé ce code de contour actif en java.Il ya des erreurs est ce que vous pouvez me donner les importations?

    Encore je trouve un problème d'appliquer ce code a mon image.
    ou je peux entrer mon image dans ce code.
    merci

  10. #70
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro Xavier Philippeau
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Nom : Homme Xavier Philippeau
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 759
    Points
    15 759

    Par défaut

    Citation Envoyé par mouhatouka Voir le message
    Bonjour,
    J'ai testé ce code de contour actif en java.Il ya des erreurs est ce que vous pouvez me donner les importations?
    Les import sont les paquets standard du JRE. Dans mon cas, ca fait:

    Code :
    1
    2
    3
    4
    import java.awt.Point;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    Encore je trouve un problème d'appliquer ce code a mon image.
    ou je peux entrer mon image dans ce code.
    merci
    Ce code ne contient que la partie qui concerne l'algorithme Snake. Tout ce qui concerne l'importation des images, le calcul du flux d'energie et l'interface graphique n'est pas fourni.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  11. #71
    Invité de passage
    Inscrit en
    mars 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : mars 2009
    Messages : 3
    Points : 2
    Points
    2

    Par défaut CENTRE DE CONTOUR ACTIF

    Bonjour,
    j'ai testé votre code il marche bien.Mais je veux detecter centre de gravité de ce contour(donc centre de l'image) comment j peux acceder au point ou comment fait la methode de calcul.
    merci d'avance

  12. #72
    Membre chevronné Avatar de b_reda31
    Homme Profil pro Réda Bentata
    Étudiant
    Inscrit en
    avril 2007
    Messages
    594
    Détails du profil
    Informations personnelles :
    Nom : Homme Réda Bentata
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2007
    Messages : 594
    Points : 624
    Points
    624

    Par défaut

    Bonjour,
    Pour ma part j'ai calculé le centre de gravité de cette manière :

    Xg = 1/Nbpoints * Somme(Xi);
    Yg = 1/Nbpoint * Somme(Yi);

    ça revient donc à calculer la moyenne des X et la moyenne des Y.
    En java ça doit être quelque chose comme ça :

    Code java :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int Xg,Yg;
    Xg=0;Yg=0;
    for(int i=0;i<snake.size();i++) {
     
    Point cur   = snake.get(i);
    Xg=Xg+cur.x;
    Yg=Yg+cur.y;
     
    	}
    Xg=Xg/snake.size(); //Je crois qu'il faut faire une conversion en int ici.
    Yg=Yg/snake.size();
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  13. #73
    Invité de passage
    Inscrit en
    mars 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : mars 2009
    Messages : 3
    Points : 2
    Points
    2

    Par défaut Contour actif

    bonjour,
    merci pour votre repense pour centre de gravité il marche bien.
    j'ai un petit probleme concernant contour,si j'ai plus qu'un objet dans l'image le contour detecte tous les objets.
    comment je peux faire pour l'adapter a un seul objet de l'image.
    merci d'avance

  14. #74
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro Xavier Philippeau
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Nom : Homme Xavier Philippeau
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 759
    Points
    15 759

    Par défaut

    Citation Envoyé par haloumg Voir le message
    bonjour,
    merci pour votre repense pour centre de gravité il marche bien.
    j'ai un petit probleme concernant contour,si j'ai plus qu'un objet dans l'image le contour detecte tous les objets.
    comment je peux faire pour l'adapter a un seul objet de l'image.
    merci d'avance
    Un snake ne délimite qu'un seul objet. Donc les choix sont limités:

    - Ne pas utiliser les Snakes

    - Segmenter l'image en images plus petites qui ne contiennent qu'un seul objet.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  15. #75
    Invité régulier
    Inscrit en
    février 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 12
    Points : 7
    Points
    7

    Par défaut

    salut a tout ,

    Est-ce-que la méthode segmentation par contour actif base région est efficace pour réaliser unz segmentation des images telle que cet image contienne des objet ???

    Comment réaliser cette étape s.v.p :
    - Segmenter l'image en images plus petites qui ne contiennent qu'un seul objet.

  16. #76
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro Xavier Philippeau
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Nom : Homme Xavier Philippeau
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 759
    Points
    15 759

    Par défaut

    Citation Envoyé par hk0006 Voir le message
    Comment réaliser cette étape s.v.p :
    - Segmenter l'image en images plus petites qui ne contiennent qu'un seul objet.
    En utilisant une autre méthode de segmentation (ligne de partage des eaux, composantes-connexes, ...). Une fois qu'on a découpé l'image en régions, on peut appliquer un Snake sur chacune d'elle.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  17. #77
    Invité régulier
    Inscrit en
    février 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 12
    Points : 7
    Points
    7

    Par défaut

    bonjour,

    et merci

    j'ai besoins une petite explication pour ces deux méthodes ...

  18. #78
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro Xavier Philippeau
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Nom : Homme Xavier Philippeau
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 759
    Points
    15 759

    Par défaut

    Citation Envoyé par hk0006 Voir le message
    j'ai besoins une petite explication pour ces deux méthodes ...
    Là on dépasse le cadre de cette discussion... Il faut voir du coté des techniques de segmentation multi-régions. J'en parle un peu ici :

    http://xphilipp.developpez.com/artic...tation/regions
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  19. #79
    Invité régulier
    Inscrit en
    février 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 12
    Points : 7
    Points
    7

    Par défaut

    Bonsoir,

    IL y a un code java pour faire la Segmentation en régions ????

    Question : Comment réalise cette deux étape s.v.p
    - Colorée l'intérieur du contour a la fin de la segmentation ?
    - l'initialisation du contour en rectangle (largeur et l’hauteur de l’image) ?

  20. #80
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro Xavier Philippeau
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Nom : Homme Xavier Philippeau
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 759
    Points
    15 759

    Par défaut

    Citation Envoyé par hk0006 Voir le message
    Bonsoir,

    IL y a un code java pour faire la Segmentation en régions ????
    Il y a du code Java dans ImageJ pour faire de la segmentation. Il y en a aussi dans JAI si je me souviens bien.

    Question : Comment réalise cette deux étape s.v.p
    - Colorée l'intérieur du contour a la fin de la segmentation ?
    Il te faut un algo de remplissage de polygones. On en a déjà parlé sur le forum.

    - l'initialisation du contour en rectangle (largeur et l’hauteur de l’image) ?
    public Snake(int width, int height, int[][] gradient, int[][] flow, Point... points)

    Le dernier paramètre du constructeur est la liste des points du snake. Tu peux les positionner comme tu veux.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •