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

Langage Delphi Discussion :

Comment convertir une image 24 bits en 8 bits ?


Sujet :

Langage Delphi

  1. #21
    Membre du Club Avatar de James64
    Profil pro
    Inscrit en
    Février 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 99
    Points : 49
    Points
    49
    Par défaut Seuillage image
    Ca fonctionne !!!

    Voici les boucles de seuillage pour 8 bits niveau de gris et pour 24 bits RVB :


    8 Bits NdG
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for j := 0 to(Bitmap.Height-1)do
            begin
                 p:=Bitmap.ScanLine[j]; // Récupère le niveau de couleur du pixel (j)
                 for i := 0 to(Bitmap.Width-1)do
                 begin
                      if p[i] > seuil then p[i]:=255
                      else p[i]:=0;
                 end;
            end;
    24 bits RVB
    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
    for j := 0 to(Bitmap.Height-1)do
            begin
                 p:=Bitmap.ScanLine[j]; // Récupère le niveau de couleur du pixel (j)
                 for i := 0 to(Bitmap.Width-1)do
                 begin
                      if Round(0.299 * p[3*i] +
                      0.587 * p[3*i+1] + 0.114 * p[3*i+2]) > seuil  then
                      begin
                          p[3*i]:=255;
                          p[3*i+1]:=255;
                          p[3*i+2]:=255;
                      end
                      else
                      begin
                          p[3*i]:=0;
                          p[3*i+1]:=0;
                          p[3*i+2]:=0;
                      end;
                 end;
            end;
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var
        j,i : word;
        p : pbytearray;
        BitMap :TBitMap;
    Et "seuil" une variable comprise entre 0 et 255 définissant le niveau de seuillage.

  2. #22
    Membre du Club Avatar de James64
    Profil pro
    Inscrit en
    Février 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 99
    Points : 49
    Points
    49
    Par défaut
    Merci à Mac Lak et à Sovitec !!

  3. #23
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    De rien. Merci d'avoir pensé à mettre le tag [Résolu].

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Comment convertir une image bmp en jpeg ?
    Par zidenne dans le forum Langage
    Réponses: 3
    Dernier message: 08/01/2006, 11h37
  2. Comment convertir une image en BMP ?
    Par blaiseac dans le forum Langage
    Réponses: 6
    Dernier message: 30/07/2005, 18h24
  3. Comment convertir une image bmp en png??
    Par Leclair2000 dans le forum Langage
    Réponses: 2
    Dernier message: 03/05/2005, 08h15
  4. [C#] Comment convertir une image bmp en jpg !!!
    Par vandeyy dans le forum Windows Forms
    Réponses: 5
    Dernier message: 13/07/2004, 20h37

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