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 :

Décompression d'images jpeg en c#


Sujet :

C#

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur en Automatisme
    Inscrit en
    Février 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur en Automatisme
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 21
    Par défaut Décompression d'images jpeg en c#
    Bonjour,

    Dans le cadre d'un projet de Master, je dois réceptionner des images venant d'une caméra pour les traiter par la suite. Le problème étant que les images reçus sont au format .jpg et que j'ai besoin de les décompresser pour obtenir une matrice RGB.

    Après avoir chercher un peu sur le net j'ai trouvé ça : http://bitmiracle.com/libjpeg/ mais sans parvenir réellement à les utiliser.

    Y'a t'il une solution plus simple pour résoudre mon problème ? Ou sinon pouvez-vous m'aider à utiliser ces librairies ?

    Merci d'avance,

    Benjamin

  2. #2
    Membre averti
    Homme Profil pro
    Developpeur Electronique/Info. Indus. - option bricolage
    Inscrit en
    Janvier 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur Electronique/Info. Indus. - option bricolage

    Informations forums :
    Inscription : Janvier 2007
    Messages : 26
    Par défaut
    sous quel forme comptes tu récupérer les images ?

    MemoryStream ? fichier sur disque ?

    dans le cas d'un fichier, de mémoire la classe Bitmap converti automatiquement
    les fichier donc tu peux importer ton fichier jpg

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    			string strFile = "d:\\Home.jpg";
    			Bitmap BM = new Bitmap(strFile);

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur en Automatisme
    Inscrit en
    Février 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur en Automatisme
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 21
    Par défaut
    Les images sont déjà récupérer par le code suivant (je dois reprendre ce code pour en ajouter des fonctionnalités) :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
           int k;
                    int i = 0, j, pos1 = 0, pos2 = 0;
                    char indicateur = '0';
                    ASCIIEncoding asen = new ASCIIEncoding();
                    String str = "SJ" + '\r';
                    byte[] ba = asen.GetBytes(str);
                    byte[] bb = new byte[65536];
                    Stream stm = tcpclnt.GetStream();                       
     
                    jpeg_grab = 1;
                    stm.Write(ba, 0, ba.Length);
     
                    k = stm.Read(bb, 0, 65535);
                    byte[] bc = new byte[k];
     
                    // detection de la chaine ACK
                    while (i < k && indicateur == '0')
                    {
                        if (bb[i] == 'A')
                        {
                            i++;
                            if (bb[i] == 'C')
                            {
                                i++;
                                if (bb[i] == 'K')
                                {
                                    i = i + 2; // 2 pour le \r
                                    pos1 = i;
                                    indicateur = '1';
                                }
                            }
                        }
                        else
                            i++;
                    }
                    // detection de la chaine JPG_END
                    while (i < k && indicateur == '1')
                    {
                        if (bb[i] == 'J')
                        {
                            i++;
                            if (bb[i] == 'P')
                            {
                                i++;
                                if (bb[i] == 'G')
                                {
                                    pos2 = i - 3;// JPG
                                    indicateur = '2';
                                    for (j = 0; j < pos2 - pos1; j++)
                                        bc[j] = bb[pos1 + j];
                                    System.IO.File.WriteAllBytes("test.jpg", bc);
                                }
                            }
                        }
                        else
                            i++;
                    }
                    jpeg_grab = 0;
     
                    cam_PictureBox1.ImageLocation = "test.jpg";
    Je pense que ton code peut fonctionner mais je ne pourrais tester qu'avec la caméra ce lundi. D'ici là je reste dispo pour d'autres solutions au cas ou celle ci ne passerait pas.

    Merci en tout cas.

Discussions similaires

  1. [libjpeg] Décompression d'une image jpeg
    Par Matarc dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 10/08/2011, 14h33
  2. [DBase][BDE]Insérer des images JPeg dans un table.u
    Par migauvin dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/08/2004, 12h03
  3. Compression d'une série d'images jpeg
    Par Tchello dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2003, 19h59
  4. Copier une image (jpeg) dans le presse papier
    Par benj63 dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/07/2002, 14h51
  5. comment réduire une image jpeg (taille x*y)
    Par don-diego dans le forum C
    Réponses: 4
    Dernier message: 14/07/2002, 20h06

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