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

Bibliothèque standard C Discussion :

Compression/Decompression Jpeg avec la blibiothèque standard


Sujet :

Bibliothèque standard C

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 24
    Points
    24
    Par défaut Compression/Decompression Jpeg avec la blibiothèque standard
    Bonjour,

    Je souhaiterai effectuer des tests en C sur la compression Jpeg : temps de calcul, parallelisation, etc.

    Ma principale contrainte : utilisation de la lib standard seulement.
    Le but : convertir un bmp en jpeg paramétrable puis le décompresser pour l'afficher.

    Pour cela j'ai DL la bibliothèque sous licence BSD (donc libre d'utilisation) IJG (http://www.ijg.org/) . Étant plutôt habitué à coder en POO, je suis relativement bien perdu dans tous les sources et je n'arrive pas à identifier quels sont les codes dont j'ai absolument besoin pour pouvoir faire ce que je veux. La documentation à propos de Jpeg (et notamment le FAQ du IJG) est très fournie sur le web et en ouvrage. En revanche, en ce qui concerne les codes c'est un peu plus dur de s'y retrouver et surtout sans bibliothèque du style SDL, CXImage, etc.

    Je veux reprendre le travail du IJG car le traitement d'image en général est relativement dur en C standard Pour cela je suis en train de lire libjepg.txt de la bibliothèque.

    J'aimerais savoir si quelqu'un pourrait m'orienter dans ma compréhension d'IJG et aussi comment reprendre efficacement le code (inexpérience en C "pointu" alors que je suis bien en POO : comment appeler les classes, etc? ).

    Merci d'avance pour les conseils et les tips !

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Pourquoi ne pas utiliser directement la source originale ??

    Purement en C et purement et uniquement JPEG ?

    libjpeg

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 24
    Points
    24
    Par défaut
    C'est exactement ce que j'ai actuellement mis à part que j'ai la version 8d (à peine plus de choses en fait, permet des décompression DCT plus rapide avec des bloc DCT différents de 8 grâce à des "SmartScale"). Ton lien est une version 6b. Mais c'est exactement les mêmes fichiers sinon. De ce source il y a un document que je lis (libjpeg.txt) que je me lis (intéressant, répond à énormément de questions mais long et un peu compliqué même si je suis familier du traitement d'image).

    Une question par ailleurs : malgré la masse d'explications/doc, je n'arrive pas à saisir ce qu'est JFIF par rapport à Jpeg ? Il me semblait que le fichier Jpeg de l'image encodée à déjà une encapsulation alors pourquoi y remettre une encapsulation JFIF ?

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par PitchDE Voir le message
    Une question par ailleurs : malgré la masse d'explications/doc, je n'arrive pas à saisir ce qu'est JFIF par rapport à Jpeg ? Il me semblait que le fichier Jpeg de l'image encodée à déjà une encapsulation alors pourquoi y remettre une encapsulation JFIF ?
    D'après ce que je lis, c'est principalement une question de norme .. et de portabilité..

    http://en.wikipedia.org/wiki/JPEG_Fi...rchange_Format

    JFIF defines a number of details that are left unspecified by the JPEG Part 1 standard (ISO/IEC IS 10918-1, ITU-T Recommendation T.81):
    Maintenant, je n'ai personnellement jamais eu de problèmes avec un jpeg brut... Mais je n'ai sans doute pas été aux liimtes..

    Voir le détail des "details left unspecified"..

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 24
    Points
    24
    Par défaut
    D'après ce que je comprends ici, JFIF comme tu dis permet d'avoir une imagette de l'image ce qui sous entend qu'au décodage, il y aura un TRES RAPIDE scan pour envoyer un "apercu" en sortie dans un premier temps. Exemple : les imagettes qu'on trouve sur les recherches d'image sur google : ce ne sont pas les images "taille réelle" mais des apercus à partir des images originales. Je pense que ca explique pourquoi c'est massivement utilisé sur le www Et d'où une encapsulation dans l'encapsulation Jpeg : permet d'avoir un décodage spécifique avec un encodage standard.

    Pensez vous que j'ai compris correctement?

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par PitchDE Voir le message
    Pensez vous que j'ai compris correctement?
    En partie

    D'après le lien que j'ai donné, qui est plus à jour (le tien est de 1992) :

    JPEG allows multiple components (such as Y, Cb, and Cr) to have different resolutions, but it does not define how those differing sample arrays should be aligned. The JFIF standard requires samples to be sited "interstitially" —
    The JPEG standard does not include any method of coding the resolution or aspect ratio of an image. JFIF provides resolution or aspect ratio information using an application segment extension to JPEG
    JPEG does not define which color encoding is to be used for images. JFIF defines the color model to be used: either Y for greyscale, or YCbCr as defined by CCIR 601
    An optional second application segment allows a thumbnail image to be embedded using several different image formats (to save space).

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

Discussions similaires

  1. Compresser une image en Jpeg avec Taux
    Par lolo81 dans le forum C#
    Réponses: 2
    Dernier message: 24/12/2010, 21h02
  2. Prob avec la librairie zlib pour compresser/decompresser
    Par megamario dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 17/11/2010, 15h59
  3. Compression Jpeg avec OpenIL
    Par Sebsheep dans le forum C
    Réponses: 2
    Dernier message: 01/07/2006, 08h55
  4. Fichier texte avec codage non standard
    Par giloutho dans le forum Langage
    Réponses: 4
    Dernier message: 15/07/2005, 19h31

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