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 :

code de segmentation d'image


Sujet :

Images

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Par défaut code de segmentation d'image
    Bonsoir;
    Merci d'avoir m'accepter parmis vous participant de forum;
    J'ai un code de segmentation d'image sous matlab mais je suis debutant en matlab si qlq un m'explique ces lignes:

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    function outImg = colImgSeg(inImg, nBins, winSize, nClass)
     
    NbParam = nBins * nBins * nBins;
    divis = 256 / nBins ;                                                                                                                                   
     
    s=size(inImg);
    N=winSize;
    n=(N-1)/2;
    r=s(1)+2*n;
    c=s(2)+2*n;
    double temp(r,c,3);
    temp=zeros(r,c,3);out=zeros(r,c,3);
    coarseImg = zeros(r,c);
    TabLabel = zeros(1,NbParam);
    inrImg = rgb2gray(inImg);
     
    temp((n+1):(end-n),(n+1):(end-n),1)=inImg(:,:,1);
    temp((n+1):(end-n),(n+1):(end-n),2)=inImg(:,:,2);
    temp((n+1):(end-n),(n+1):(end-n),3)=inImg(:,:,3);
    temp_color = temp;
     
    for x=n+1:s(1)+n
        for y=n+1:s(2)+n
            e=1;
            for k=x-n:x+n
                f=1;
                for l=y-n:y+n
                    mat(e,f,1)=temp(k,l,1);
                    mat(e,f,2)=temp(k,l,2);
                    mat(e,f,3)=temp(k,l,3);
                    f=f+1;
                end
                e=e+1;
            end
     
            sum_lab = 0;
            for i = 1 : winSize
                for j = 1 : winSize
                    lab = floor(mat(i,j,1)/divis)*(nBins*nBins);
                    lab = lab + floor(mat(i,j,2)/divis)*(nBins);
                    lab = lab + floor(mat(i,j,3)/divis);
                    lab = lab + 1;
                    TabLabel(lab) = TabLabel(lab) + 1;
                    sum_lab = sum_lab + lab;
                end
            end
            coarseImg(x,y) = floor(sum_lab / (winSize * winSize));
            end
    end
     
    trunCoarseImg(:,:) = coarseImg((n+1):(end-n),(n+1):(end-n));
     
    tempVar = trunCoarseImg(:,:);
    inImg_1D = double(tempVar(:));
    fusedMap = kmeans(inImg_1D,nClass, 'EmptyAction', 'singleton');
    fusedMapShow = uint8(fusedMap.*(255/nClass));
    outImg = reshape(fusedMapShow,s(1),s(2));
    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
    Par défaut
    Bonjour,

    quelles sont les lignes que tu ne comprends pas?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Par défaut code segmentation
    Merci ;
    voilà je comprend pas les parametres:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    nBins 
    N=winSize;%?
    n=(N-1)/2;%por quoi en devise par 2
    r=s(1)+2*n;%?
    c=s(2)+2*n;%?
    temp=zeros(r,c,3);%
    out=zeros(r,c,3);
    coarseImg = zeros(r,c);
    TabLabel = zeros(1,NbParam);
    merci d'avoir m'expliquer car je suis debutante en matlab

  4. #4
    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
    Par défaut
    Dans quel but veux-tu comprendre ce code?

    Ce code n'est pas très bien codé... par exemple la première ligne que tu ne comprends pas :
    elle ne sert absolument à rien (N prend la valeur contenu dans winSize)...

    Si tu veux néanmoins absolument comprendre chaque ligne de code, met des breakpoints dans le fichier et analyse les résultats retournés pas à pas.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Par défaut
    bonsoir;
    merci de votre interêt;mais le programme ça marche

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Par défaut
    merci magelan ;mais moi aussi j'ai pas bien compris ce code mais comme j'ai déja dis il fonctionne bien;je peux vous demandez ou bien à tous participants de ce furom qui ont bien maîtriser Matlab de m'aider de faire un programme de segmentation de l'image qui est facile à comprendre ;et Merci infiniment de votre aide
    Cordialement

  7. #7
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    Bonjour,

    Bon rapidement, le programme permet de faire une segmentation de l'image en utilisant l'histogramme.

    Bon voilà rapidement, si j'ai le temps, je t'explique d'avantage. mais rien ne t'empêche de faire une recherche sur ce sujet.

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Par défaut
    Bonsoir;
    svp j'ai besoin de code de segmentation de l'image sous matlab
    qui fait division de l'image en plusieurs regions homogene;
    merci d'avance

  9. #9
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    Est-ce que tu as fais un état de l'art ?

    Si oui, quelle est la méthode que tu vas implémenter sous Matlab selon toi ?

    Et quelles sont éventuellement les problèmes rencontrés pour l'implémentation ?

Discussions similaires

  1. segmentation des images
    Par b.yassine dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 18/03/2018, 01h45
  2. code Segmentation d'image par Fuzzy C Means
    Par tamer2 dans le forum Images
    Réponses: 0
    Dernier message: 22/07/2013, 20h24
  3. [Débutant] Questions sur un code de segmentation d'images
    Par nadjib2007 dans le forum Images
    Réponses: 2
    Dernier message: 30/08/2007, 01h32
  4. Récuperation du code binaire d'une image dans une chaîne
    Par Nomely dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 27/01/2006, 19h01
  5. Pb avec code source "lister les images d'un dossier"
    Par Mimisator dans le forum Langage
    Réponses: 2
    Dernier message: 19/10/2005, 15h25

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