begin process at 2010 02 10 13:20:07
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Compression & Split

 > COMPRESSEUR JPEG

COMPRESSEUR JPEG


 Information sur la source

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Compression & Split Classé sous :compression, jpeg, dct, huffman, rle Niveau :Initié Date de création :14/04/2006 Vu / téléchargé :9 494 / 1 651

Auteur : Gimli

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Ce code permet de compresser des images selon l'algorithme utilisé pour le format jpeg (DCT, RLE, Huffman...)


 Conclusion

Il doit surement avoir moyen d'aller plus vite, surtout dans l'implementation de l'algo d'Huffman, merci de vos eventuelles suggestions.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture RÉGRESSION POLYNOMIALE
Source avec Zip Source avec une capture DÉCOMPOSITION EN FACTEURS PREMIERS
Source avec Zip Source avec une capture ECRAN DE VEILLE MATRIX
Source avec Zip Source avec une capture ALGORITHME GÉNÉTIQUE: PROBLÈME DU VOYAGEUR
Source avec Zip Source avec une capture FRACTAL DE MANDELBROT

 Sources de la même categorie

Source avec Zip Source avec une capture DELPHI : PROCEDURE SPLIT SIMILAIRE A LA FONCTION EPONYME EN ... par FENETRES
FONCTION SPLIT par crackspider7676
Source avec Zip STREAMZIP par simonpelloquin
Source avec Zip MAKE CAB + CHECKLISTBOX par simonpelloquin
Source avec Zip COMPRESSION HUFFMAN,LZW (UNITES AUTONOMES COMMENTEE) par GordoCabron

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture EASYCOMPRESSJPG V4 - COMPRESSION AVANCÉE D'IMAGES EN JPEG par ni69
Source avec Zip HUFFMAN ADAPTATIF par kingler
Source avec Zip HUFFMAN par kingler
Source avec Zip COMPRESSION HUFFMAN,LZW (UNITES AUTONOMES COMMENTEE) par GordoCabron
Source avec Zip Source avec une capture EASYCOMPRESSJPG - COMPRESSE LES IMAGES JPEG par ni69

Commentaires et avis

Commentaire de Gimli le 14/04/2006 18:44:35

certes, mais c'est pas le but du code, qui est de montrer les étapes de l'algo de compression jpeg!
@+

Commentaire de f0xi le 16/04/2006 17:29:47 administrateur CS





procedure TForm1.OuvrirFichier(Name: String);
var
  F : File of byte;
begin
  Image1.Picture.LoadFromFile(Name);
  AssignFile(F, Name);
  Reset(F);
  SizeDebut := FileSize(F);
  CloseFile(F);

  Longueur := Image1.Picture.Width;
  Largeur  := Image1.Picture.Height;

  Lbl_Taille_Initiale.Caption := format('Taille initiale : %.2f Ko',[SizeDebut/1024]);
  Lbl_Taille_Finale.Caption := 'Taille finale : ';
  Lbl_Gain.Caption := 'Gain : ';
  Lbl_TauxCompression.Caption := 'Taux de compression : ';
  Lbl_TempsCompression.Caption := 'Temps de compression : ';
  Lbl_TempsDecompression.Caption := 'Temps de dcompression : ';

  Image2.Canvas.Pen.Color := clBtnFace;
  Image2.Canvas.Brush.Color := clBtnFace;
  Image2.Canvas.Rectangle(0, 0, Image2.Width, Image2.Height);
end;

___________________________________________


procedure TForm1.Button2Click(Sender: TObject);
begin
  if Image1.Picture.Width = 0 then Exit;
  Time := GetTickCount;
  StatusBar1.Panels[0].Text := 'Compression...';
  Application.ProcessMessages;

  SaveTableauPixels; //Enregistre l'image initiale dans un tableau
  ConvertRGBToYCrCb; //Convertit les couleurs de RGB vers YCrCb
  DownSample; //Sous-chantillonne la chrominance
  LevelShift; //Dcale toutes les valeurs de -128
  ApplyDCT; //Applique la DCT
  ApplyCoeffs; //Quantifie la matrice (seule tape de perte de l'algorithme)
  CodageRLE; //Codage avec le systme RLE
  CodageHuffman; //Codage avec le systme Huffman
  SafeToFile; //Enregistre le fichier final

  StatusBar1.Panels[0].Text := '';
  Lbl_TempsCompression.Caption := format('Temps de compression : %.1f s', [(GetTickCount-Time)/1000]);
end;

____________________________________________


procedure TForm1.SaveTableauPixels;
var
  I, J  : Integer;
  Ligne : ^TRGBArray;
begin
  SetLength(TableauPixels, Longueur, Largeur, 3);
  Image1.Picture.Bitmap.PixelFormat := pf32bit;
  for J := 0 to Largeur - 1 do begin
      Ligne := Image1.Picture.Bitmap.ScanLine[J];
      for I := 0 to Longueur - 1 do begin
          with Ligne[I] do begin  
               TableauPixels[I, J, 0] := rgbRed;
               TableauPixels[I, J, 1] := rgbGreen;
               TableauPixels[I, J, 2] := rgbBlue;
          end;
      end;
   end;
end;

____________________________________________


if R < 0 then R := 0 else if R > 255 then R := 255;
if G < 0 then G := 0 else if G > 255 then G := 255;
if B < 0 then B := 0 else if B > 255 then B := 255;

>> uses Math;

R := Max( Min(R, 255), 0);
G := Max( Min(G, 255), 0);
B := Max( Min(B, 255), 0);

Commentaire de inkognitodz le 19/05/2009 12:45:03

PUIS-JE AVOIR LE MEME CODE ECRIT SOUS BUILDER C++

Commentaire de Renfield le 19/05/2009 16:01:26 administrateur CS

on rêve...
si tu le veux dans un autre language, relève tes manches !

ici, on n'exige rien ; et on ne crie pas (majuscules), merci !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

tbitbtn avec image format jpeg [ par vib ] existe il un composant ou une solution pour avoir un bouton du genre bitbtn avec une image au format jpeg ?A+ Dimensions d'un Jpeg [ par Gysmo ] Kelkun connaitrai une soluce pour retourné sous forme d'Integer les dimensions d'un Jpeg ouvert dans une TImage?Merci Format JPEG [ par magicvinni ] Quelqu'un peut il me dire où je peux trouver des informations sur l'unité Jpeg de Delphi. Par exmple comment mettre une image jpeg en fond de form?Mer Inclure un fichier JPEG dans un exe [ par magicvinni ] Bonjour, j'ai 2 questions1) Est il possible d'inclure un fichier JPeg dans un exe?2) Quelles sont les variable qui donneent les chemins de Windows/tem Compression Zip [ par bgK ] Salut,Je voudrais compresser des fichiers en zip avec delphi. Comment faire ?bgKPs : Peut être utiliser l'unité zLib, mais je ne sais pas m'en servir Convertion d'un Jpeg en Bitmap puis stockage dans un tableau [ par dami ] Bonjour a tous. Pour les besoins d'OpenGL, j'ai besoin de transformer mon Jpeg en BMP puis de stocker le BMP sous forme de tableau. J'ai récupéré et a Convertion d'un Jpeg en Bitmap puis stockage dans un tableau [ par dami ] Bonjour a tous. Pour les besoins d'OpenGL, j'ai besoin de transformer mon Jpeg en BMP puis de stocker le BMP sous forme de tableau. J'ai récupéré et a Compression [ par florentlejaxhe ] Je suis nouveau dans la programmation Dephi 6 et ai développé un logiciel de cryptage. Je désire lui adjoindre la compression du fichier grâce à la li Redimension de JPEG [ par g0belin ] Comment faire pour redimensionner un Jpg ???------------------------------------Est ce possible si il est dans un TImage ???Merci d'avance pour vos re Images JPEG / pb divers [ par NetCyrille ] bonjour à tous,J'ai créé avec un pote le site Yatahonga.com et surtout une application DELPHI qui permet de faire de l'upload d'images.Outres les prob


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales