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 :

calcul de la variance d'une image


Sujet :

Images

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 12
    Points : 10
    Points
    10
    Par défaut calcul de la variance d'une image
    salut tout le monde,
    je suis débutant en matlab, et j'essayer de calculer la variance des pixels d'une image en fonction de ses voisins, j'ai essayé ce code mais lorsque je l'exécute je trouve une matrice variance dont les éléments sont nuls,
    est-ce que je peux aussi trouver cette variance comme scalaire et non matrice?
    merci encore de m'aider
    voilà 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
    function var = variance_detail(x)
    %Matrix exemple
    %A = rand(256);
    s = size(x);
    I = [-1 0 1]; % voisnage
    v = zeros(s); % Variance
     
    for i=2:s(1)-1
        for j=2:s(2)-1
            v(i,j) = std(reshape(v(i+I,j+I),9,1));
        end
    end
    var=v;
    si quelqu'un peut me dire où se trouve l'erreur, je vous remercie infiniment

  2. #2
    Membre extrêmement actif
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Points : 858
    Points
    858
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function var = variance_detail(x)
    %Matrix exemple
    %A = rand(256);
    s = size(x);
    I = [-1 0 1]; % voisnage
    v = zeros(s); % Variance
     
    for i=2:s(1)-1
        for j=2:s(2)-1
            v(i,j) = std(reshape(v(i+I,j+I),9,1));
        end
    end
    var=v;

    Donc premierment avant la boucle for tu as initialiser ta matrice v avec 0.

    Aussi tu peux modifier la ligne avec la fonction std par var (qui represente la variance).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     v(i,j) = var(reshape(v(i+I,j+I),9,1));
    Et ne donne pas un nom de variable var (le meme que la fonction c'est toujours une mauvais technique) , parce que var c'est deja une fonction dedie matlab et ca ecrasera la variable ......


    Pour voir la documentation de la fonction var tappes:

    j'ai essayé ce code mais lorsque je l'exécute je trouve une matrice variance dont les éléments sont nuls,
    C'est normal parce que tu as initialiser la matrice avec zeros et tu fais la deviation standard de la matrice initialiser a 0 et ca te donnera une matrice de 0.


    Pourquoi tu n'utilise pas la fonction var?


    Tu a dis que tu veux faire la variance.

    Amicalment,

    Michel

Discussions similaires

  1. Calcul de la moyenne de variance d'une image
    Par otmane88 dans le forum Scilab
    Réponses: 1
    Dernier message: 24/03/2013, 20h45
  2. Calcul de la variance d'une image
    Par bipame dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 22/01/2009, 03h08
  3. Calculer la taille finale d'une image ISO à partir du dossier source
    Par raoulchatigre dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 05/09/2007, 21h20
  4. calcul de l'entropie d'une image
    Par fog4000 dans le forum C++
    Réponses: 8
    Dernier message: 24/06/2007, 21h39
  5. Réponses: 4
    Dernier message: 30/05/2007, 16h44

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