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

Algorithmes et structures de données Discussion :

Detection de types d'image


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 3
    Points
    3
    Par défaut Detection de types d'image
    Bonsoir tout le monde

    Je suis nouvelle sur ce forum... En fait, je suis sur un projet de compression d'image, et je voudrais que mon programme puisse analyser une image et detecter differents types (ex : photo, dessin, texte...). En gros, qu'il puisse me dire que dans cette zone se trouve une photo, la une image et la un texte...

    Une photo contient plus de couleurs qu'un dessin, pour l'instant c'est la seule chose qui peut m'aider a les differencier... Pour le texte c'est autre chose, mais pour coder tout ca, je vois pas trop commen faire.

    Si quelqu'un a des idées ou un avis quelconque sur le sujet ca serait sympa

    Voila merci!

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 3
    Points
    3
    Par défaut detection types d'image
    Je resume un peu... comment fait-on pour differencier un texte d'un dessin (ou photo) et un dessin d'une photo? Dans une photo, on trouve bcp plus de couleurs que dans un dessin... si quelqu'un sait comment coder ca en langage info ca pourrait bcp m'aider...

    J'ai aussi une question qui m'embrouille un peu... l'image avant d'etre compressée est codée de quelle manière? et sous quel format?

    Merci encore

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Salut

    pour les différents types de formats d'images tu peux consulter ce site qui est vraiment une mine.

    Pour ce problème
    Dans une photo, on trouve bcp plus de couleurs que dans un dessin... si quelqu'un sait comment coder ca en langage info ca pourrait bcp m'aider...
    Une méthode naïve est de compter le nombre de couleurs différentes qui figurent dans ton image et décider à partir de quel pourcentage par rapport au nombre de pixels de l'image celle-ci représente un texte plutôt qu'une photo, mais bon si tu as une image en noir et blanc c'est mal barré, il faut jouer sur les dégradés peut-être.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  4. #4
    Membre averti
    Avatar de JHelp
    Inscrit en
    Octobre 2002
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 185
    Points : 444
    Points
    444
    Par défaut
    Pour une image, les types les plus courant ont une ent^te facile à reconnaitre. Un gif commence par GIF, bmp par BMP, JGP par JPG, png par PNG (voila pour celles que je connias) Déja en lisant les trois premierq octets tu a déjà un pré-tri. Bien sur le texte ca peut commencé par PNG par exemple. Ca dépend enssuite du format de tes textes. Par exemplespour les TXT, c'est facil, suffit de ragrder quelsue caractérees une 100 aines par exemple, et si tu as au moins 25% de caractére entre 32 et 127 tu peux être sur que c'est du texte. Pour les DOC y a une entête reconnaissable si je me souvient. Pour le PDF ca comence par %PDF%.
    Pour résuméla majorité des fichiers sont reconaissable par leur entêtes sauf les txt, mais pour eux je t'ai donné une astuce.
    Avec ca tu devrais pouvoir savoir si c'est une image ou un texte.
    Pour les images, on peut déja considéré les GIF comme de dessins, pour le JPG, la qualité est indiquée dans l'entête (je sais plus ou par contre), pour le png il me semble aussi. Pour les bmp, là a part conté le nombre de couleurs, ou voir si les couleurs progressent gradulement ou sautent, je vois pas comment distingué un dessin d'une photo.
    J'espére que ca poura t'aider
    JHelp
    Pour avoir une réponse efficace :
    1) Soyez précis dans vos questions
    2) Choisssez bien votre forum
    3) Consultez la FAQ et la doc avant

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 3
    Points
    3
    Par défaut Detection de types d'image
    Rebonsoir tout le monde

    Merci d'avoir lu et repondu, c'est gentil!

    En fait, j'ai une image qui contient plusieurs parties differentes (photo, dessin, ...) et je voudrais que mon programme detecte, dans une image, les zones qui contiennent ces types pour pouvoir ensuite scinder l'image et les séparer. Mais tous ces types sont contenus dans une seule et meme image. c'est bcp plus compliqué! je pense pas que ca a avoir avec le format...


    Merci pour vos conseils JHelp et Trap D.

    Si quelqu'un a des idées... ou si quelqu'un sait comment trouver un texte dans une image ca serait deja ca. voila voila merci

  6. #6
    Membre averti
    Avatar de JHelp
    Inscrit en
    Octobre 2002
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 185
    Points : 444
    Points
    444
    Par défaut
    A oui la c'est plus compliqué. C'est de la reconnaissance de forme. Dans le même forum y a un sujet sur les OCR, ca devrait t'interéssé. (Un OCR étant un programe qui à partir d'une image retrouve le texte écrit dessus)
    Maintenant ton texte il est ecrit par une machine ou par un humain (le degré de complexité n'est pas le même) ? Est-il d'un police particuliére (dans ce cas c'est plus facile) ou pas ? C'est le genre de choses qu'il te faudra savoir avant d'élaborer un solution. T'a plus qu'a trouver des articles sur les OCR et le réseaux de Neuronnes.
    [Edit]J'ai retrouvé le sujet : http://www.developpez.net/forums/vie...780[/Edit]
    Pour avoir une réponse efficace :
    1) Soyez précis dans vos questions
    2) Choisssez bien votre forum
    3) Consultez la FAQ et la doc avant

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 488
    Points : 397
    Points
    397
    Par défaut Re: Detection de types d'image
    Citation Envoyé par sanna
    En fait, j'ai une image qui contient plusieurs parties differentes (photo, dessin, ...) et je voudrais que mon programme detecte, dans une image, les zones qui contiennent ces types pour pouvoir ensuite scinder l'image et les séparer. Mais tous ces types sont contenus dans une seule et meme image.
    Je ne pense pas qu'il y ait de réponse simple et universelle à cette question. Quel est le but ? Compresser une image sans perte dans les zones de dessin/texte et autoriser les pertes dans les zones de photo où elle est acceptable ? Dans ce cas il vaudrait mieux faire de la compression adaptative, comme cela existe en JPEG 2000. Si on utilise l'espace des fréquences, comme dans le cas des ondelettes, alors les hautes fréquences correspondent en général au texte et au dessin, et au contour des objets dans les photos, mais dans une moindre mesure.

    En espérant que ça aide.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 3
    Points
    3
    Par défaut Detection types d'image
    Bonjour a tous

    Merci JHelp je vais regarder le lien que tu m'as passé, je pense que ca va bcp m'aider pour le texte...

    Sinon pour repondre a sovitec , je desire effectivement faire une compression de chaque types après les avoir detectés!
    Ca m'interesse ce que tu dis sur la difference de fréquence. Donc, un dessin et une photo ont des propriétés differentes en matière de frequence...? Tu peux m'en dire un peu plus STP!

    merci

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 488
    Points : 397
    Points
    397
    Par défaut Re: Detection types d'image
    Citation Envoyé par sanna
    Sinon pour repondre a sovitec , je desire effectivement faire une compression de chaque types après les avoir detectés!
    Ca m'interesse ce que tu dis sur la difference de fréquence. Donc, un dessin et une photo ont des propriétés differentes en matière de frequence...? Tu peux m'en dire un peu plus STP!
    Si tu appliques une transformation de Fourrier, ou équivallent, à ton image alors toutes les zones correspondant à des sauts brusques de couleur, comme le texte ou un trait d'un dessin, vont apparaitre comme des pics haute fréquence sans isolés. Les contour des objets dans une image apparaitront aussi comme des pics, en général moins élevés car les photos adoucissent les contours, et surtout noyé parmi les autres fréquences de l'image.

    Une illustration de ce phénomène est la compression des images JPEG (pas 2000). Celle ci utilise une DCT, une tranformation de la même famille que Fourrier, elle remplace juste l'exponentiel complexe par un cosinus. La compression JPEG, donc, détruit les hautes fréquences ce qui explique le mauvais rendu du texte et des traits lorsqu'on l'utilise.

    Il me semble, comme je le disais dans le message précédent que la partie concernant la compression adaptative du JPEG 2000 devrait t'interessé.

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    Merci sovitec

    Tu connais un peu la transformée en ondelette? (je crois que c'est la transformée utilisée pour le compression JPEG2000) en fait, je voulais savoir ce que ca donnerait si j'appliquais cette derniere a une image! cette methode est-elle plus avantageuse que la FFT?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 488
    Points : 397
    Points
    397
    Par défaut
    Citation Envoyé par sanna
    Tu connais un peu la transformée en ondelette? (je crois que c'est la transformée utilisée pour le compression JPEG2000) en fait, je voulais savoir ce que ca donnerait si j'appliquais cette derniere a une image! cette methode est-elle plus avantageuse que la FFT?
    Effectivement JPEG2000 utilise la transformée en ondelette qui, par rapport à Fourrier, a l'avantage d'avoir en plus une composante de "localisation". La perte de localisation dûe à Fourrier explique pourquoi en JPEG on doit compresser par blocs, d'où l'effet mosaïque en cas de fortes compression. Les ondelettes ne possèdent pas cet inconvénient, et donc oui, elle donne de bien meilleurs résultat dans ton cas. De plus elle est beaucoup plus rapide que la compression JPEG par exemple. Par contre la théorie mathématique derrière, et l'implémentation sont plus complexes.

    Je n'ai pas trop le temps de développer la théorie des ondelettes ici (et je ne connais pas ton niveau en mathématiques), mais il existe plein de tutoriels sur le net.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    Merci de ta reponse sovitec , j'ai regarder les liens que tu m'as passé... En fait, j'ai commencé à travailler sur la DCT. Je l'ai appliqué a des images (par bloc de 8*8 pixels) pour comparer les resultats sur des dessins et des photos. Les hautes frequences sont situées en bas a droite alors que les basses frequences sont en haut a gauche dans la matrice DCT.

    Et donc si j'ai bien compris (corrigez moi si j'me trompe svp pasque j'menbrouille un peu la) dans une photo, on trouvera bcp de choses comme ca :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    741    -8  -16    30    3    3    7    2  
    113    11  -25    11  -14   8   -8    6  
    135    37  -27    -8  -16   14  -14  7  
    -144   22   -8    29   -1    6    6    4  
     70     19  -16   24  -10   -3   -1   1  
    162    31  -11  -19  -13    9  -12   4  
    114    15   15    -3    2    11   2    3  
    107    -16  -12  19   -2   -10   3   -3
    et pour un dessin, y'aurait plus de choses comme ca (et bcp moin pour une photo) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    2014    2    2    1    1    1    1    0  
     12    0    0    0    0    0    0    0  
     -1    0    0    0    0    0    0    0  
      1    0    0    0    0    0    0    0  
     -1    0    0    0    0    0    0    0  
      1    0    0    0    0    0    0    0  
      1    0    0    0    0    0    0    0  
      0    0    0    0    0    0    0    0

    [/img][/code]

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 488
    Points : 397
    Points
    397
    Par défaut
    Bonjour,

    Les valeurs et leur position dépendent des conventions, mais dans le principe c'est exactement ça, oui.

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    Ok, merci bcp sovitec

    Maintenant pour faciliter mon analyse faut que je vire le texte de mon image, ainsi j'aurais que des dessin ou des photos...

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 130
    Points : 121
    Points
    121
    Par défaut
    Il y a un sujet qui ressemble étrangement a ton problème sur le forum...

    Regarde ce que j'y ai mis...

    Ca pourra peut etre t'interesser

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 130
    Points : 121
    Points
    121
    Par défaut
    Oups j'avais pas fait gaffe c'est le meme posteur....

    Désolé :)

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    lol
    Pas grave

Discussions similaires

  1. Quelle type d'image utiliser?
    Par kalash_jako dans le forum Autres langages pour le Web
    Réponses: 6
    Dernier message: 23/04/2006, 09h53
  2. Detection d'un fichier image ou texte
    Par laclac dans le forum Langage
    Réponses: 6
    Dernier message: 05/10/2005, 08h49
  3. Afficher tout type d'image (gif ,png, jpg...)
    Par jfb53 dans le forum C++Builder
    Réponses: 22
    Dernier message: 20/07/2005, 14h52
  4. Interbase 6 et le type des images?
    Par AnestheziE dans le forum InterBase
    Réponses: 6
    Dernier message: 30/10/2003, 10h48
  5. Comment detecter le type d'un objet?
    Par nickylarson dans le forum C++Builder
    Réponses: 3
    Dernier message: 24/06/2003, 15h23

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