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

Images Discussion :

Image (edg) sur une autre image (img)


Sujet :

Images

  1. #1
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut Image (edg) sur une autre image (img)
    Bonjours,

    j'ai une image img, et ses contours dans edg;

    j'ai essayer de mettre les contours edg sur l'image img de façon que chaque contours ait une couleur différente.

    aidez-moi svp

  2. #2
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    Salut !

    Ceci n'est pas une question propre à Matlab : tu veux mettre une couleur pour chaque contour...
    Mais déjà, qu'est-ce qui différencie un contour d'un autre pour toi ? Imagine alors la difficulté pour un ordi si même à nous ça ne nous paraît pas évident ?
    En fait, il faut identifier les contours, puis les colorer... Le problème d'identification n'est vraiment pas simple : ça s'appelle de la labellisation...

    Par exemple, on peut dire qu'un contour, c'est une courbe qui est "continue" cad que pour tout point de ton contour, il y a toujours un pixel voisin appartenant à ce même contour...
    Dans ce cas, tu recherches tous les pixels connectés entre eux, puis tu les colories de la même façon...
    Le souci, c'est quand 2 contours se croisent !!

    Tu voies ce que je veux dire ? C'est pas simple du tout en fait !

  3. #3
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    bonjour, et merci pour ta répense.

    Aprés avoir détecter les contours des objets d'une image "img" je sauve le résultat dans une nouvelle image "edg". Ensuit, je fais un étiquettage avec bwlabel et je le sauve dans "etq".

    Maintenant je cherche à afficher l'image "img" et dessus j'affiche "etq" pour voir la positions de mes contours sur mon image "img".

    es-ce que la solution marchera avec "montage".

    Merci de votre aide...

    @+

  4. #4
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    bah un truc simple serait dans img de remplacer tous les pixels correspondant à un contour par une couleur...

    Par exemple :
    - parcourir etq
    - pour tout pixel (x,y) non nul, copier la valeur de ce pixel dans img en (x,y)...

    Bon c'est basique, mais ça marche non ?

  5. #5
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    img(etq(:,:)~=nan)=etq(:,:) ;
    es-ce correct ?

    merci.

    @+

  6. #6
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par kmaniche
    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    img(etq(:,:)~=nan)=etq(:,:) ;
    es-ce correct ?

    merci.

    @+

    quand tu veux parler d'une matrice entière, pas besoin de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    etq(:,:)
    tu peux simplement écrire
    etq
    ensuite au lieu de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    M~=nan
    il vaut mieux utiliser ~isnan(M)

    Quant à savoir si c'est correct, essaye, tu verras si Matlab te jette...

  7. #7
    Membre éclairé
    Avatar de Kangourou
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 859
    Points
    859
    Par défaut
    salut,

    pour afficher les contours, tu peux utiliser la fonction label2rgb.
    normalement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    rgb = label2rgb(etq);
    imshow(rgb);
    devrait marcher.

    Maintenant si j'ai bien compris tu voudrais l'image des contours en surimpression sur l'image d'origine, c'est bien ca ?
    Une solution serait de detecter les pixels qui sont a la fois dans la structure ET pas sur un contour, puis de colorer ces pixels en blanc.
    Essaie un truc du genre (peut-etre a adapter en fonction du format de img et etq) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    rgb2 = rgb;   % image des contours
    [i j] = find(img & etq==0);   % detections des pixels interieurs
    rgb2(i, j, :) = 1;   % on les colore en blanc
    imshow(rgb2);    % on affiche
    A+

  8. #8
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Merci à vous tous...

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

Discussions similaires

  1. Images mobiles sur une autre image
    Par Pasqualini dans le forum C++Builder
    Réponses: 6
    Dernier message: 06/11/2014, 16h26
  2. Rotation d'une image sur une autre image de fond
    Par domas_24 dans le forum 2D
    Réponses: 0
    Dernier message: 16/03/2011, 01h39
  3. Réponses: 6
    Dernier message: 21/10/2010, 14h54
  4. Modification hauteur et largeur d'une image suite à un double-click sur une autre image
    Par LorenzoIlMagnifico dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/11/2009, 16h10
  5. Mettre une image sur une autre image et tableau
    Par Michaël dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 19/06/2005, 18h31

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