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

 C Discussion :

algorithme filtre median traitement image


Sujet :

C

  1. #1
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 451
    Points : 43 097
    Points
    43 097
    Par défaut algorithme filtre median traitement image
    Bonjour,

    Je cherche à appliquer l'algorithme du filtre median dans une image couleur. Je trouve de la doc pour des images en niveau de gris mais ai des difficultés pour la couleur.

    Je ne pense pas qu'il faut traiter plan par plan (r,v,b)

    Merci pour votre aide.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Je n'ai pas fait beaucoup de traitement image ,mais d’après wikipedia "Son fonctionnement consiste à remplacer la valeur d'un pixel par la valeur médiane de l'ensemble des pixels de son voisinage." , donc j'ai pas compris ou est ton souci , il suffit juste de regarder les pixel avoisinant et d'en faire une moyenne sur les bruits.

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2010
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 290
    Points : 719
    Points
    719
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    Je ne pense pas qu'il faut traiter plan par plan (r,v,b)
    Ben si en fait ...
    C'est ce que fait OpenCV par exemple :
    http://docs.opencv.org/modules/imgpr...ring.html#void medianBlur(InputArray src, OutputArray dst, int ksize)

    C'est plutôt si tu ne faisais pas le traitement plan par plan, que tu prenais les trois valeurs RGB comme une seule valeur (par exemple dans un espace de 0 à 16 millions), alors tu obtiendrais vraiment n'importe quoi.

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 451
    Points : 43 097
    Points
    43 097
    Par défaut
    Merci pour la réponse, mais j'en suis au même point, je ne sais comment faire ( mis à part utiliser opencv, ce que je ne veux pas )

    Je vais faire un essai en dissociant les plans pour voir le résultat concrètement , mais je pense pas que l'algorithme ne marche pas comme ça. Un median de bleu et un median de rouge ne donne pas un median de violet équivalent car tout dépend de la quantité de rouge et de bleu du violet.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    mais je pense pas que l'algorithme ne marche pas comme ça.
    Tu penses donc que l'algorithme est bon

    Si la médiane de chaque composante RVB des pixels avoisinants ne te conviens pas, tu peux convertir ces pixels dans un autre espace colorimétrique, par exemple TSV, et calculer la valeur médiane pour chacune de ces trois nouvelles composantes.
    ɹǝsn *sıɹɐlos*

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 451
    Points : 43 097
    Points
    43 097
    Par défaut
    Je ne doutes évidement pas de l'algorithme.

    Je cherche à comprendre son fonctionnement en couleur.

    Mes hypothèses : traitement de chaque plan R,V, et B individuellement, et donc prise de la mediane dans chaque plan pour reconstituer le pixel "médian"

    Transformation de chaque point dans un autre espace colorimétrique ( exemple HUV, ) mais je ne vois pas comment on regroupe les 3 infos en une. J'ai vu aussi des infos avec "vecteurs" mais mon niveau en maths ne permet pas de comprendre.

    en attendant d'avoir de meilleures infos, je vais tester l'hypothèse 1

    Je ne trouve pas d'info explicite autre que monochrome.

    Si la médiane de chaque composante RVB des pixels avoisinants ne te conviens pas, tu peux convertir ces pixels dans un autre espace colorimétrique, par exemple TSV, et calculer la valeur médiane pour chacune de ces trois nouvelles composantes.
    jlliagre, c'est pas que ça doit me convenir, c'est que je ne sais pas concrètement appliquer l’algorithme en couleur.

    Je vais tester. Je vais essayer le TSV aussi pour voir.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    c'est pas que ça doit me convenir, c'est que je ne sais pas concrètement appliquer l’algorithme en couleur.
    Il est normal que tu ne trouves aucun algorithme "correct".

    La valeur médiane n'a de sens que pour un ensemble de valeurs ordonnées, or des couleurs ne sont pas ordonnées (une seule dimension) mais réparties dans un espace à trois dimensions (RGB, TSV ou autre). Il faut donc te résoudre à choisir une "pseudo-médiane" composite.
    ɹǝsn *sıɹɐlos*

  8. #8
    En attente de confirmation mail

    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 639
    Points : 2 347
    Points
    2 347
    Par défaut
    Je ne vois pas en quoi le fait de choisir la couleur constituée de la médiane des rouges, de la médiane des verts et de la médiane des bleus, serait un mauvais choix. En tout cas j'ai toujours fait ainsi et je n'ai jamais observé de résultat aberrant.

  9. #9
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Citation Envoyé par CodeurPlusPlus Voir le message
    Je ne vois pas en quoi le fait de choisir la couleur constituée de la médiane des rouges, de la médiane des verts et de la médiane des bleus, serait un mauvais choix.
    Ce n'est pas un mauvais choix, c'est même probablement le meilleur.

    Le problème est que le pixel médian calculé risque d'avoir une couleur différente de chacune des couleurs des pixels utilisés pour son calcul, contrairement à ce qui se passe avec une image en niveaux de gris où le pixel médian fait forcément partie de la liste.

    Le deuxième problème est que cette couleur calculée peut varier en fonction de l'espace colorimétrique utilisé.
    ɹǝsn *sıɹɐlos*

  10. #10
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 451
    Points : 43 097
    Points
    43 097
    Par défaut
    jlliagre,
    .
    Je suis de ton avis c'est pour ça que je cherchais comment appliquer l'algorithme correctement.
    Mes premiers essais me donnent une image aberrante, mais pas au niveau couleur, je pense que j'ai merdé. Je vais réessayer.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  11. #11
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Oui, l'image ne devrait pas être aberrante.

    En y réfléchissant un peu plus, il est possible d'utiliser un algorithme qui règle le premier problème décrit, au détriment de la vitesse de traitement.

    Il suffit de calculer d'abord la pseudo couleur médiane puis de rechercher parmi les pixels utilisés celui qui en est le plus proche et de le retenir comme couleur médiane.
    ɹǝsn *sıɹɐlos*

Discussions similaires

  1. algorithme d'un filtre median sous matlab
    Par salmatr dans le forum Simulink
    Réponses: 1
    Dernier message: 03/08/2009, 11h38
  2. Eliminer le bruit d'une image a l'aide du filtre median
    Par mihaispr dans le forum Interfaces Graphiques
    Réponses: 11
    Dernier message: 24/03/2009, 09h19
  3. corriger l'image bruitée par filtre median
    Par Invité dans le forum Traitement d'images
    Réponses: 10
    Dernier message: 02/06/2008, 00h04
  4. Réponses: 5
    Dernier message: 25/12/2004, 23h17
  5. Matrice de filtrage ?
    Par gimlithedwarf dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 24/08/2002, 09h44

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