Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1437 connectés 

 


Dernière réponse
Sujet : [Couleurs] convertir des couleurs en niveaux de gris ???
bjone

MC a écrit a écrit :

Attention, si tu veux faire une bonne conversion c'est pas du 0.33/0.33/0.33 dans les rapports de couleurs:
 
Gray scale=Y=(222*Red+707*Green+71*Blue)/1000 (formule de conversion ITU).
 
Car en réalité l'oeil est plus sensible dans le vert, puis le rouge et enfin le bleu.
 
Un lien:
 
http://www.jentronics.com/color.html  
 
 




 
tout a fait.
 
et c'est pour ça qu'en 16bpp, y'a 6 bits pour le vert, 5 pour les r/b. pour avoir + de précision sur le vert.


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
bjone

MC a écrit a écrit :

Attention, si tu veux faire une bonne conversion c'est pas du 0.33/0.33/0.33 dans les rapports de couleurs:
 
Gray scale=Y=(222*Red+707*Green+71*Blue)/1000 (formule de conversion ITU).
 
Car en réalité l'oeil est plus sensible dans le vert, puis le rouge et enfin le bleu.
 
Un lien:
 
http://www.jentronics.com/color.html  
 
 




 
tout a fait.
 
et c'est pour ça qu'en 16bpp, y'a 6 bits pour le vert, 5 pour les r/b. pour avoir + de précision sur le vert.

antp Merci pour l'info, je vais mettre à jour ma fonction ;) :jap:
Comme c'était pour les icônes d'une barre d'outils ça se voyait probablement pas à l'oeil nu que c'était pas vraiment les niveaux de gris "officiels" :D

 

[jfdsdjhfuetppo]--Message édité par antp le 21-04-2002 à 17:29:12--[/jfdsdjhfuetppo]

MC Attention, si tu veux faire une bonne conversion c'est pas du 0.33/0.33/0.33 dans les rapports de couleurs:
 
Gray scale=Y=(222*Red+707*Green+71*Blue)/1000 (formule de conversion ITU).
 
Car en réalité l'oeil est plus sensible dans le vert, puis le rouge et enfin le bleu.
 
Un lien:
 
http://www.jentronics.com/color.html

 

[jfdsdjhfuetppo]--Message édité par MC le 21-04-2002 à 15:26:42--[/jfdsdjhfuetppo]

trueslash Windows, Graphics;
 
 
c bon g trouvé  :D
trueslash tu peux me filer la liste des fichiers à inclure stp ?
trueslash je pense que ça devrait me suffir  :D  
 
 :jap: merci bcp
antp J'ai eu besoin de faire ça récemment.
Moi j'ai pris la solution facile : moyenne des valeurs rouge vert bleu :D À mon avis y a une formule plus complexe qui donne un résultat mieux, mais ça donnait déjà pas mal...
Enfin ça donnait ça:

Code :
  1. type
  2.   pRGBArray  =  ^TRGBArray;
  3.   TRGBArray  =  array [0..32767] of TRGBTriple;
  4. procedure Grayscale(APicture: TBitmap);
  5. var
  6.   i, j: Integer;
  7.   LinePtr: PRGBArray;
  8.   AColor: Byte;
  9.   OldFormat: TPixelFormat;
  10. begin
  11.   with APicture do
  12.   begin
  13.     OldFormat := PixelFormat;
  14.     PixelFormat := pf24bit;
  15.     for i := 0 to Height-1 do
  16.     begin
  17.       LinePtr := ScanLine[i];
  18.       for j := 0 to Width-1 do
  19.         with LinePtr[j] do
  20.         begin
  21.           AColor := (rgbtBlue + rgbtGreen + rgbtRed) div 3;
  22.           rgbtBlue := AColor;
  23.           rgbtGreen := AColor;
  24.           rgbtRed := AColor;
  25.         end;
  26.     end;
  27.     PixelFormat := OldFormat;
  28.   end;
  29. end;

 

[jfdsdjhfuetppo]--Message édité par antp le 21-04-2002 à 12:14:16--[/jfdsdjhfuetppo]

trueslash je veux convertir une image 24 Bits en une image défini sur plusieurs niveaux de gris (une centaine)
 
comment faire ça ?

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR