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 :

Analyse d'empreinte digitale


Sujet :

Images

  1. #21
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut Delatatio et erosion
    Bon, je ne sais pas comment faire la delatatio et l'erosion.
    Mais si ces deux operations gardent la même taille des matrices (8*8), donc ce code peux t'aider. puiseque les matrices sont de 256*256 donc tu auras 32*32 petites matrices de 8*8 soit donc 1024 matrices. voila le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    image =image_originale;
    for i=1:32
        for j=1:32
     
            petite=image(8*i-7:8*i,8*j-7:8*j);
     
            %tu fait ton traitement à petite (delatation rt erosion)
     
            image(8*i-7:8*i,8*j-7:8*j)=petite;
     
        end
    end
    donne moi une idée sur la delatation et l'erosion

  2. #22
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 30
    Points : 3
    Points
    3
    Par défaut
    alors pour la dilatation et l'erosion je te renvoie vers cette url j'espere que tu es baléze en anglais ici*
    et merci pr le code !

    Rostomus alors j'ai reussi a avoir une meilleur image en agissant sur le sigma du filtre de gabor bref revenant au code que tu m'as donné puisqu'il m'interesse particulierement c'est l'une des étapes finales alors en fait ce que je dois c'est de creer 1024 matrices comme ce que tu m'as donné pr pouvoir bien distinguer les minuties bon ton programme fonctionne mais je dois comme meme sauver les matrices alors j'ai essayé le switch mais ceci ne sauvegarde pas toutes les matrices alors qu'est ce que tu en pense et est ce que tu as une solution plus adequat ? merci

  3. #23
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut Cell
    Salut,

    D'apés ton message, je comprends que tu veux sauvegarder tout les 1024 petites matrices de 8*8. si c'est le cas, au premier temps j'ai pensé à une matrice de 4D (4 dimensions) de taille (32*32*8*8), mais aprés j'ai rencontré des problémes. et ma deuxieme idée est d'utiliser les CELL, et voila le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    image =image_originale;
    for i=1:32
        for j=1:32
            
            petite=image(8*i-7:8*i,8*j-7:8*j);
            
            % le traitement
            grande{i,j}=petite;
            
           image(8*i-7:8*i,8*j-7:8*j)=petite;
            
        end
    end
    pour accéder à une sous image tu tape simplement grande{i,j}

    Attention c'est grande{ , } et non pas grande( , ) c.à.d des accolades

  4. #24
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 30
    Points : 3
    Points
    3
    Par défaut
    C'est parfait merci beaucoup sinon tu es prof de matlab ou un grand fan ?

  5. #25
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut etudiant
    Non je ne suis pas un prof, je suis un etudiant et je travail avec matlab
    merci pour le complement

  6. #26
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 30
    Points : 3
    Points
    3
    Par défaut
    parfait ben t'es plus studieux que moi alors en meme je suis que en deuxieme année iut G.E.I.I enfin bref merci beaucoup pour ton coup de main

  7. #27
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 30
    Points : 3
    Points
    3
    Par défaut étape finale!
    bonjour. alors voila j'ai presque fini ce projet mais je bloque sur cette étape en effet je dois rendre mon image de l'empreinte en 1 pixel pour pouvoir sortir les bifurcations puis compter le nmbre de bifurcations qu'il ya dans l'empreintes et les stocker dans des variables.

    je commence donc par creer les bifurcations
    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
           L1=[0 1 0;1 0 1;1 0 1];
           L2=[1 0 1;0 0 0;1 1 1];
           L3=[1 0 1;1 0 0;0 1 1];
           L4=[1 0 1;1 0 0;1 0 1];
           L5=[1 1 0;0 0 1;1 1 0];
           L6=[1 1 1;0 0 0;1 0 1];
           L7=[0 1 1;1 0 0;1 0 1];
           L8=[1 0 1;0 0 1;1 0 1];
           L9=[1 0 1;1 0 1;0 1 0];
           L10=[0 1 0;1 0 1;1 1 0];
           L11=[1 1 0;0 0 1;1 0 1];
           L12=[0 1 1;1 0 1;0 1 0];
           L13=[0 1 1;1 0 1;0 1 0];
           L14=[0 1 0;1 0 1;0 1 1];
           L15=[1 0 1;0 0 1;1 1 0];
           L16=[1 1 0;1 0 1;0 1 0];
    puis comme j'ai divisé mon empreinte en matrices 3*3 je compare chaque matrice 3*3 avec cette bifurcation pr voir si ca correspond ou pas si oui j'ai une bifurcation et on incremente le compteur et stock cette bifurcation dans une variable sinon on passe à la matrice suivante c ske j'ai tenté de faire avec ce bout de code mais malheuresement ca donne rien
    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
    image =bw4;
    [m,n]=size(image);
    k=1;
    for i = 2:m-1
        for j = 2:n-1
            t=image(i-k:i+k,j-k:j+k);
     
    grande{i,j}=t;         
    end 
    end
    for i = 1:255
        for j = 1:255
            grande{i,j}=a(i,j);
       if ((a(i,j)==L1) ) | (a(i,j)==L2 ) | (a(i,j)==L3 ) | (a(i,j)==L4) | (a(i,j)==L5) | ( a(i,j)==L6) | (a(i,j)==L7) | (a(i,j)==L8) | (a(i,j)==L9) | (a(i,j)==L10) | (a(i,j)==L11) | (a(i,j)==L12) | (a(i,j)==L13) | (a(i,j)==L14) | (a(i,j)==L15) | (a(i,j)==L16) 
     
                x=1;
                p=x+1;
     
            end 
     
       end 
     
    end
    est ce que quelqu'un peut me donner un coup de main merci d'avance

  8. #28
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Bonjour,

    je pense que vous avez fait quelques erreurs, je les ai corrigé :
    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
    image =bw4;
    [m,n]=size(image);
    k=1;
    for i = 2:m-1
        for j = 2:n-1
            t=image(i-k:i+k,j-k:j+k);
            
    grande{i,j}=t;         
    end 
    end
    x=1;
    for i = 1:255
        for j = 1:255
            a(i,j)=grande{i,j};
       if ((a(i,j)==L1) ) | (a(i,j)==L2 ) | (a(i,j)==L3 ) | (a(i,j)==L4) | (a(i,j)==L5) | ( a(i,j)==L6) | (a(i,j)==L7) | (a(i,j)==L8) | (a(i,j)==L9) | (a(i,j)==L10) | (a(i,j)==L11) | (a(i,j)==L12) | (a(i,j)==L13) | (a(i,j)==L14) | (a(i,j)==L15) | (a(i,j)==L16) 
                
                x=x+1;
                
            end 
          
       end 
       
    end
    x etant le compteur.

  9. #29
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    bonjour,

    En fait, que est ce qu'il y a dans la matrice a?

  10. #30
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 30
    Points : 3
    Points
    3
    Par défaut
    a etant la matrice 3x3(echantillon de l'image de l'empreinte) qui correspond a grande{i,j}, je pense que je pouvais utliser le grande au lieu du a directement

    en fait, comment je peux rendre l'image de l'empreinte en 1 pixel pr pouvoir identifier les bifurcations.
    merci d'avance

  11. #31
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Citation Envoyé par gouba
    en fait, comment je peux rendre l'image de l'empreinte en 1 pixel pr pouvoir identifier les bifurcations.
    merci d'avance
    Je comprend pas ce que vous voulez dire de ca. une image contient plusieur pixels comment vous voulez la rendre en 1 pixel?

  12. #32
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 30
    Points : 3
    Points
    3
    Par défaut re

    voilà ce que je dois faire exactement

  13. #33
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Bonjour,

    ce que j'ai compris est que vous avez une matrice 3*3, vous la comparez avec vos bifurcations, et si elle ne correspend a aucune d'elles, vous la faites un traitement pour avoir 1 pixel. que voulez vous dire " avoir 1 pixel "?
    rendre la matrice 3*3 a une 1*1 ??
    ou bien autre chose?

  14. #34
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 30
    Points : 3
    Points
    3
    Par défaut bonjour
    alors plutot faire le traitement et aprés comparer mais je fais pas de traitement je n'aurais probablement aucune detection . enfin je crois mais en tout ca j'aii essayé votre code que vous m'aviez donné mais il me mé une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ??? Error using ==> ==
    Matrix dimensions must agree.
     
    Error in ==> C:\Trfinger\fichiers executables matlab\gabor1.m
    On line 176  ==>    if (grande{i,j}==L1 ) | (grande{i,j}==L2 ) | (grande{i,j}==L3 ) | (grande{i,j}==L4) | (grande{i,j}==L5) | ( grande{i,j}==L6) | (grande{i,j}==L7) | (grande{i,j}==L8) | (grande{i,j}==L9) | (grande{i
    >>

  15. #35
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Bonjour,

    Je suppose que une ou plusieur matrices de grand{i,j} ne sont pas de taille 3*3. vous devez verifier.
    et je comprend toujours pas ce que veut dire " avoir 1 pixel ".

  16. #36
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 30
    Points : 3
    Points
    3
    Par défaut re
    j'ai verifié et c'est tte des matrices 3*3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for i = 2:m-1
        for j = 2:n-1
            t=image(i-k:i+k,j-k:j+k);
     
    grande{i,j}=t;         
    end 
    end

  17. #37
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    BINGO

    Citation Envoyé par gouba
    j'ai verifié et c'est tte des matrices 3*3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for i = 2:m-1
        for j = 2:n-1
            t=image(i-k:i+k,j-k:j+k);
     
    grande{i,j}=t;         
    end 
    end
    regarde bien les indice:
    i et j commence a partir de 2, ca marche bien avec t=image(...... ,mais tu as oublié grande{i,j} qui va commencer de grande{2,2} et automatiquement grand{1,1}, grand{2,1},........grand{255,1} et meme
    grand{1,2},..........grand{1,255} seront mises à [ ] (ensemple vide)
    donc :
    grand{1,1}==L1 donne une erreur de type"Matrix dimensions must agree"

  18. #38
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 30
    Points : 3
    Points
    3
    Par défaut re
    je vois pas exactement ce que vous voulez dire exactement mais pouvez vous me donner le code merci

  19. #39
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Bonjour,
    le probleme est que vous avez la taille totale 256*256, mais 256 n'est pas divisible par 3; donc je prend seulment 255*255 ce qui donne 85*85 petites image.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for i = 1:85
        for j = 1:85
            grande{i,j}=image( 1+(i-1)*3 : 3*(i-1) , 1+(j-1)*3 : (j-1)*3 );     
        end 
    end

  20. #40
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 30
    Points : 3
    Points
    3
    Par défaut re
    alors j'ai essayé votre code et ca marche le probléme c'est que le compteur me donne la valeur de 255 qui me semble assez bizare

Discussions similaires

  1. demande conseil lecteur d'empreinte digitale
    Par crjo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 04/03/2013, 20h13
  2. reconnaissance d'empreinte digitale
    Par malek-k dans le forum Windows
    Réponses: 3
    Dernier message: 30/03/2007, 15h39
  3. Empreintes digitales ?
    Par demande001 dans le forum Windows
    Réponses: 2
    Dernier message: 05/12/2006, 09h02
  4. Gerer les empreintes digitales dans un SGBDR.
    Par WOLO Laurent dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 31/12/2004, 12h26

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