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 :

Norme euclidienne dans les images couleur


Sujet :

Images

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Norme euclidienne dans les images couleur
    Bonjour, je veux calculer la norme euclidienne de 2 pixels.
    chaque pixel est un vecteur constitué des composantes R(rouge) , V(vert) et B (bleu).

    Merciii

  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
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    as-tu essayé de coder quelque chose? Ou bloques-tu exactement?

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Bonjour, merci de votre réponse,

    J'essaye d’implémenter le filtre médian vectoriel . Le pixel est alors considéré comme un vecteur (à trois composantes dans le cas des images couleurs) et le traitement opère sur ces vecteurs.
    Ce filtre est basé sur un ordre de vecteurs . La sortie de ce type de filtre est définie comme le vecteur de plus faible rang selon un ordre réduit basé sur les distances entre couleurs.

    Dans le cas simple cette distance est la norme euclidienne.

    Donc je veux écrire une fonction dist:


    dist(X,Y)= sqrt( (Rx-Ry)^2 + ( Vx-Vy)^2 + ( Bx-By)^2



    Mercii ^^

  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
    Points : 7 614
    Points
    7 614
    Par défaut
    Tu as l'air d'avoir tous les éléments pour faire ton code, donc je repose mes questions :
    as-tu essayé de coder quelque chose? Ou bloques-tu exactement?

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Bonjour,effectivement j'ai tous les éléments!

    la commande "pdist" permet de calculer cette distance . mais elle prend en input une seule matrice X: pdist(X,'Minkowski',p), alors que moi je cherche de calculer entre 2 vecteurs , voici mon code:

    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
    clear all;close all;
    A=imread('C:\Program Files\MATLAB\R2009a\toolbox\FausseClrs.jpg');
    %figure,imshow(A);title('IMAGE WITHOUT NOISE');
    I=imnoise(A,'salt & pepper');
    %figure,imshow(Ib);title('IMAGE WITH SALT AND PEPPER NOISE');
     
    [n,m,p]=size(I);
    If=zeros(size(I));
     
    for a= 2:n-1
        for b=2:m-1
     
           win=I(a-1:a+1,b-1:b+1,:);
           winT=reshape(win,1,9,3);
            for i=1:9
     
               D(i)= dist(winT(1,i,:),winT(1,1,:))+dist(winT(1,i,:),winT(1,2,:))+dist(winT(1,i,:),winT(1,3,:))+dist(winT(1,i,:),winT(1,4,:))+dist(winT(1,i,:),winT(1,5,:))+dist(winT(1,i,:),winT(1,6,:))+dist(winT(1,i,:),winT(1,7,:))+dist(winT(1,i,:),winT(1,8,:))+dist(winT(1,i,:),winT(1,9,:));          
            end 
     
            [lemin,lindice] = min(D);
            If(a,b)=win(lindice);
     
        end
    end
     
    If=uint8(If);
    figure,imshow(If);title('IMAGE AFTER MEDIAN FILTERING');

    au niveau de la fonction "dist", je sais pas koi ecriiire :/

    Mercii d'avance

  6. #6
    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
    Points : 7 614
    Points
    7 614
    Par défaut
    Tu peux utiliser la fonction norm pour calculer la norme euclidienne, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    norm(winT(1,i,:)-winT(1,1,:))
    Le code pourra être optimisé car tu effectues plusieurs fois les mêmes calculs et dans ta boucle, tu calcules la norme d'un élément avec lui-même, ce qui donnera obligatoirement zéro.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Salut, Merci beaucoup pour la réponse, j'obtiens l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ??? Undefined function or method 'norm' for input arguments of type 'uint8'.
     
    Error in ==> VMF_Final at 17
               D(i)=
               norm(winT(1,i,:),winT(1,1,:))+norm(winT(1,i,:),winT(1,2,:))+norm(winT(1,i,:),norm(1,3,:))+norm(winT(1,i,:),norm(1,4,:))+norm(winT(1,i,:),winT(1,5,:))+norm(winT(1,i,:),winT(1,6,:))+no

    j'aimerai bien optimiser le code, vous pouvez me proposer des idées??

  8. #8
    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
    Points : 7 614
    Points
    7 614
    Par défaut
    Pour comprendre le message d'erreur, voir la :
    http://matlab.developpez.com/faq-err...unction_method

    Il faut donc mettre par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    I=double(imnoise(A,'salt & pepper'));
    Et tu auras une deuxième erreur, tu as mal recopié l'exemple que je t'ai donné.

Discussions similaires

  1. bruit dans les images irm
    Par sallyy dans le forum Traitement d'images
    Réponses: 7
    Dernier message: 21/06/2010, 21h09
  2. Trop de bruit dans les images renvoyées par la webcam
    Par Gautier_mic dans le forum OpenCV
    Réponses: 0
    Dernier message: 18/02/2010, 19h25
  3. [Images] Ajout de marges dans les images
    Par joboy84 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 25/06/2009, 15h05
  4. Snake dans les images médicales
    Par b_reda31 dans le forum Traitement d'images
    Réponses: 15
    Dernier message: 19/05/2008, 13h11
  5. diffirencier entre les images couleurs et les noir et blanc
    Par passion_info dans le forum C++Builder
    Réponses: 3
    Dernier message: 18/05/2005, 14h15

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