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

Traitement d'images Discussion :

comment détecter qu'une image N&B est flou?


Sujet :

Traitement d'images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 277
    Par défaut comment détecter qu'une image N&B est flou?
    je cherche a trouver un critère qui me dit si une image noir et blanc est flou.

    ma première approche est qu'une image flou, n'a pas de contour net, donc des gradients de faibles valeurs...
    le resultat n'est pas très bon, donc je pense qu'il faut coupler ce test à autre chose pour avoir des résultat un peu plus concluants?
    si vous avez une idée, je suis preneur


  2. #2
    Membre confirmé Avatar de harsh
    Inscrit en
    Février 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 229
    Par défaut
    Typiquement, si une image est flou, la transition d'un pixel a son voisin est lisse. Donc un truc du genre la moyenne du carré des différences doit permettre de fixer un seuil au dela du quel tu considere ton image flou. L'ennui c'est qu'en faisant ainsi tu risque d'etre tres sensible aux longs dégradés...

    Donc il suffit juste de t'assurer que ton image contient localement (soit l'image entiere est floue, soit ce n'est pas du flou) des transitions superieur a un seuil (ce qui te permettra de retenir egalement les photos contenant un flou artistique en arriere plan)

  3. #3
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut
    Une autre solution est d'effectuer la dct 2D sur ton image, tu fixes un seuil en dessous duquel tu considères l'image floue (typiquement, les coefficients d'une image floue sont "réunis" an haut à gauche).

    Après, je n'ai pas de quoi tester, mais je pense que tu dois pouvoir t'en sortir avec ça aussi (en quantifiant, pour mettre à 0 les coefficients trop petits, faire des essais avec des images floues et non floues, puis déterminer un seuil).

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 277
    Par défaut
    Merci pour vos réponses,

    Je vais y aller de manière progressive pour tester ce que vous m'avez dit, d'abord Harsh:
    Donc un truc du genre la moyenne du carré des différences doit permettre de fixer un seuil au dela du quel tu considere ton image flou
    Tu parles de différences, que compares tu? tu décris l'image en prenant les valeurs de chaque pixel que tu soustrais à son voisin (une sorte de gradient horizontal) et enfin tu moyenne sur le nombre total de pixels
    ou alors tu effectues une moyenne des gradients spatiaux ?

    Donc il suffit juste de t'assurer que ton image contient localement (soit l'image entiere est floue, soit ce n'est pas du flou) des transitions superieur a un seuil (ce qui te permettra de retenir egalement les photos contenant un flou artistique en arriere plan)
    en quelque sorte tu effectues un choix par hystérésis: si tu as tel proportion de pixels flous (par ex: grad <10 ) et tel proportion de pixel non flou (par ex: grad >100) alors il s'agit d'une image "nette" mais contenant une zone flou.


    progfou:
    Une autre solution est d'effectuer la dct 2D sur ton image, tu fixes un seuil en dessous duquel tu considères l'image floue (typiquement, les coefficients d'une image floue sont "réunis" an haut à gauche)
    j'implémente ça et je te tiens au courant, mais j'ai peur que la quantification ne soit pas aussi facile que ça...

  5. #5
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut
    Tu peux quantifier "basiquement", avec un coefficient constant.
    Tu arrondi, et tu compares à un seuil derrière.
    Si tu utilises matlab, dct2 doit pouvoir t'aider .

  6. #6
    Membre confirmé Avatar de harsh
    Inscrit en
    Février 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 229
    Par défaut
    Non, tu ne peux pas calculer un rapport de "pixels flou" sur "pixels non flou" sinon tu risques de ne pas etre robuste suivant que tu passes d'une image nette contenant de grande regions dégradées (une plage avec un ciel clair) à une image legerement flou mais tres découpée.

    Je pense vraiment qu'il ne faut s'occuper que de la recherche de "pixels non flou" (c'est ta seule mesure fiable sur la netteté de ton image). Les "pixles dits flous" peuvent encore une fois aussi bien etre un degradé qu'un flou de fond de scene (donc normal).

    Je preconise donc de recherché un nombre minimal (assez faible) de pixel dont le gradient est fort. Tu devras a mon avis faire un pre traitement sur ton image pour equilibrer son histogramme afin de ne pas looser sur les images peu contrastée

    EDIT: quoiqu'une mesure de l'epaisseur moyen des contours donnés par l'image du gradient (donc utiliser le sens du gradient) doit donner des résultats peut etre un peu plus fiable

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 31/10/2007, 12h23
  2. Comment verifier qu'une image a été postée ?
    Par maximenet dans le forum Langage
    Réponses: 1
    Dernier message: 08/01/2006, 19h28
  3. Comment écrire sur une image, dans un cadre ?
    Par Nutrino dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 20/05/2005, 00h55
  4. Réponses: 15
    Dernier message: 27/04/2005, 10h41
  5. [Image]comment pre-charger une image
    Par al85 dans le forum 2D
    Réponses: 5
    Dernier message: 28/02/2005, 20h22

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