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 :

Localisation du premier pixel allumé (blanc) dans une image binaire


Sujet :

Images

  1. #1
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Localisation du premier pixel allumé (blanc) dans une image binaire
    Salut,

    J'ai une image binaire I (m lignes, n colonnes) avec un fond noir, des objets blancs mon but est de balayer l'image ligne par ligne colonne par colonne, localiser le premier pixel allumé ou blanc (valeur=1) afin d'obtenir une nouvelle image binaire ayant la même taille que I ne possédant qu'un seul pixel blanc, celui trouvé précédemment.

    Merci d'avance.

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Salut,

    tu peux utiliser find en utilisant l'argument 'first' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    indice = find(I,1,'first');
    mat = zeros(m,n);
    mat(indice) = 1;

  3. #3
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    1000000 Merci
    c'est que je cherchait.

  4. #4
    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,

    Juste une précision :
    Si tu parcours ton matrice lignes pas lignes et colonnes par colonnes, il faut mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    indice = find(I.',1,'first');
    mat = zeros(m,n);
    mat(indice) = 1;
    Parce que :

    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
    24
    25
    26
    27
    >> a=zeros(3,4)
     
    a =
     
         0     0     0     0
         0     0     0     0
         0     0     0     0
     
    >> a(2,3)=1
     
    a =
     
         0     0     0     0
         0     0     1     0
         0     0     0     0
     
    >> find(a, 1, 'first')
     
    ans =
     
         8
     
    >> find(a.', 1, 'first')
     
    ans =
     
         7
    Voilà, c'est tout

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Je crois que l'on a compris différemment le sens de "ligne par ligne et colonne par colonne".

    Pour moi cela veut dire : de haut en bas et de gauche à droite. Dans ce cas il faut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    indice = find(I,1,'first');
    Si c'est de gauche à droite puis de haut en bas, alors effectivement, il faut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    indice = find(I.',1,'first');

  6. #6
    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
    Exact, c'est une confusion

    Quand on parle de :
    ligne par ligne, et colonne par colonne : moi je comprend que pour chaque ligne, on parcours toutes les colonnes

    Est-ce que c'est bien ça ?

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    L'expression "ligne par ligne, et colonne par colonne" est confuse, donc ce sera à l'auteur de nous dire ce qu'il voulait dire si il repasse par là!

  8. #8
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci pour votre intérêt, je voulais dire parcourir la première ligne de gauche à droite, puis la deuxième...

Discussions similaires

  1. Localisation d'une forme parabolique dans une image binaire
    Par AYDIWALID dans le forum Traitement d'images
    Réponses: 4
    Dernier message: 24/11/2011, 16h33
  2. Réponses: 4
    Dernier message: 31/10/2010, 03h52
  3. Détection de cavités dans une image binaire
    Par on2101 dans le forum Images
    Réponses: 3
    Dernier message: 03/11/2009, 00h02
  4. bruit blanc dans une image
    Par l_seringa dans le forum Traitement d'images
    Réponses: 7
    Dernier message: 03/07/2009, 14h46
  5. Réponses: 4
    Dernier message: 04/06/2007, 14h12

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