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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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

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