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 :

traitement d'image matlab


Sujet :

Images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Par défaut traitement d'image matlab
    merci de bien vouloir m'aider de faire un programme sous matlab qui décompose un image 256-by-256 en 1024 blocs (8-by-8) et de calculer la valeur moyenne ,l'entropie et la variance de chaque bloc,affecté dans 3 matrice ( matrice de les valeurs moyenne ,variance et l'entropie)
    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Sais-tu au moins quels algorithmes tu vas employer ?
    As-tu commencé à coder quelque chose (même faux) ?

  3. #3
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Par défaut
    Bonjour
    j'ai décomposé l'image en bloc ,mais je n'ai pas pu traiter chaque bloc !!

    (je suis débutant sur matlab)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    I = imread('cameraman.tif');
     
    S = size(I)
     
    nr = floor(S(1)/8);
    nc = floor(S(2)/8);
     
    for r = 1:nr
       for c = 1:nc
          subimg = I((r-1)*8+1:8*r,(c-1)*8+1:8*c,: );
          m=mean(subimg(nr,nc))
     
       end
    end

  4. #4
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    là c'est surtout un problème de conception que tu as, plus que d'algorithmes de caractérisation.

    Lorsque tu as ta sous-image "subimg", tu peux calculer dessus toutes les caractéristiques que tu souhaites, comme tu l'as fait avec la moyenne. Mais il te faut sauver le résultat dans un tableau et non pas dans une variable dont la valeur va être modifiée par les opérations sur le prochain bloc.
    Tu peux aussi sauver toutes les sous-images afin de pouvoir retravailler dessus plus tard si nécessaire.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  5. #5
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Par défaut
    MERCI
    mon problème : comment je peut affecté les résultats dans une matrice 32-32

    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
    img = imread('cameraman.tif');
     
    S = size(img)
     
    nr = floor(S(1)/8);
    nc = floor(S(2)/8);
     
    for r = 1:nr
       for c = 1:nc
          subimg = img((r-1)*8+1:8*r,(c-1)*8+1:8*c,: );
     
     
     
                m = mean(subimg);
                moy = mean(m,2)
     
     
       end
     
     
    end

    merci

  6. #6
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Il suffit tout simplement de mettre des indices à la variable dans laquelle tu veux stocker tes éléments.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    resultat=zeros(32,32);%initialisation avec des 0
    for i=1:32
       for j=1:32
          resultat(i,j)=i*j;
       end
    end
    Attention si le terme après le = n'est pas un scalaire cela ne fonctionnera pas.
    Dans ce cas tu peux utiliser des tableaux de cellules.

Discussions similaires

  1. Trouver un prestataire spécialiste en traitement d'images (MATLAB ou autre)
    Par Dave Looper dans le forum Traitement d'images
    Réponses: 6
    Dernier message: 01/06/2015, 16h04
  2. traitement d'images matlab
    Par sas202010 dans le forum MATLAB
    Réponses: 1
    Dernier message: 13/02/2014, 22h33
  3. [Débutant] Traitement d'images matlab
    Par arkenge dans le forum Images
    Réponses: 5
    Dernier message: 10/02/2012, 10h13
  4. Octave et MATLAB dans le traitement d'images
    Par MBAYE BABACAR GUEYE dans le forum Images
    Réponses: 6
    Dernier message: 12/06/2007, 18h53

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