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

MATLAB Discussion :

Manipulation d'un histogramme


Sujet :

MATLAB

  1. #1
    Membre régulier Avatar de biquet
    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 199
    Points : 105
    Points
    105
    Par défaut Manipulation d'un histogramme
    Bonjour à tous et bonne année 2008,

    J'ai une image en niveau de gris entre 0 et 256. Je réalise l'histogramme et je calcule la valeur moyenne du niveau de gris et l'écart-type.

    Je voudrais réaliser la chose suivante : je voudrais réaliser la valeur moyennedu niveau de gris, l'écart-type et le nombre de pixels entre 0 et la valeur moyennede l'image totale et entre 256 et la valeur moyenne totale de l'image.

    Par exemple, j'ai une valeur moyenne totale de l'image de 130. Je voudrais faire calculer la valeur moyenne, l'écart-type et le nombre de pixel entre 0 et 130 puis entre 130 et 256

    Par avance merci pour vos réponses
    Tous en autodidacte :
    - LV 8.5 et LV 8.6 (en phase d'apprentissage)
    - Matlab 6.1
    - VB6

  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 304
    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 304
    Points : 52 889
    Points
    52 889
    Par défaut
    Voici l'idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    img=uint8(255*rand(50));
     
    % Moyenne des pixels
    m=round(mean(img(:)))
     
    % Nombre de pixels supérieurs à m
    n_sup=sum(img(:)>=m)
    % Moyenne des pixels supérieurs à m
    m_sup=mean(img(img(:)>=m))
     
    % Nombre de pixels inférieurs à m
    n_inf=sum(img(:)<=m)
    % Moyenne des pixels inférieurs à m
    m_inf=mean(img(img(:)<=m))
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre régulier Avatar de biquet
    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 199
    Points : 105
    Points
    105
    Par défaut
    Merci bcp ca fonctionne.

    Je veux calculer l'écart type inférieur et l'écart type supérieur, j'ai mis ceci mais il y a une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    deviation_pixel_inf=std(img(img(:)<=moyenne))
    deviation_pixel_sup=std(img(img(:)>=moyenne))
    merci pour votre réponse
    Tous en autodidacte :
    - LV 8.5 et LV 8.6 (en phase d'apprentissage)
    - Matlab 6.1
    - VB6

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 304
    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 304
    Points : 52 889
    Points
    52 889
    Par défaut
    Pense à toujours mettre le message d'erreur. Il ne faut pas se contenter de dire "ça ne marche pas"

    Dans ton cas, le message d'erreur est quelque chose comme :
    ??? Error using ==> var at 56
    First argument must be single or double.
    
    Error in ==> std at 32
    y = sqrt(var(varargin{:}));
    
    Error in ==> Untitled3 at 16
    deviation_pixel_inf=std(img(img(:)<=moyenne))
    Donc tu fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    deviation_pixel_inf=std(double(img(img(:)<=moyenne)))
    deviation_pixel_sup=std(double(img(img(:)>=moyenne)))
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

Discussions similaires

  1. [Débutant] les Fonctions de manipulation des histogrammes
    Par zakimadrid dans le forum Images
    Réponses: 4
    Dernier message: 22/04/2015, 13h11
  2. manipulation d'histogramme
    Par devqt dans le forum Débuter
    Réponses: 1
    Dernier message: 06/04/2010, 14h53
  3. Réponses: 2
    Dernier message: 18/01/2003, 17h06
  4. Fonctions de manipulation des chaines et des dates
    Par Fares BELHAOUAS dans le forum Débuter
    Réponses: 3
    Dernier message: 09/11/2002, 22h43
  5. [TChart] comment remplir un histogramme avec du rouge strié.
    Par :GREG: dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/08/2002, 09h37

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