Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Theorie Graustufen (https://www.delphipraxis.net/63924-theorie-graustufen.html)

Merowinger 24. Feb 2006 16:34


Theorie Graustufen
 
Hey DPler,

ich benötige Hilfe zur Umwandlung einer Farbgrafik in Graustufen. Ich habe bereits einige Methoden gefunden die alle die Leutkraftbewertung einer Farbe nutzen. Ich möchte wissen wie das Funktioniert.

Delphi-Quellcode:
var grau : byte;
    Row : ^TRGBTriple;
..

grau := (row^.rgbtred * 77 + row^.rgbtgreen * 151 + row^.rgbtblue * 28) div 256;

..
Die Pointerprogrammierung ist mit klar. Es geht nur um die Leuchtkraftbewertung. Kann mir jemand bitte die Theorie erklären oder eine Internetseite zeigen wo das ausführlich erklärt wird.

Danke Merowinger

Dust Signs 24. Feb 2006 16:44

Re: Theorie Graustufen
 
Ich nehme einmal an, dass das damit zusammenhängt, dass das menschliche Auge bestimmte Farbanteile (z.B. rot) stärker wahrnimmt als andere (z.B. blau). Wobei das hier deinen Code in Teilen erklären dürfte.

Dust Signs

xaromz 24. Feb 2006 16:51

Re: Theorie Graustufen
 
Hallo,

das hat zu tun mit der Farbempfindlichkeit des Auges. Das menschliche Auge ist für die verschiedenen Farbanteile unterschiedlich empfindlich. Das machen sich auch viele Kompressionsverfahren zu Nutze (beispielsweise im Videobereich).
Um diesen unterschiedlichen Empfindlichkeiten Rechnung zu tragen, werden die Grundfarben unterschiedlich gewichtet. Die Gewichtung R=0,299, G=0,587, B=0,114 hat sich dabei als die Beste herausgestellt (wobei das individuell unterschiedlich sein kann, wir sind ja keine Roboter :zwinker: ).
Es gibt übrigens auch andere Verfahren, die mehr auf die tatsächlichen Farben achten; bei der simplen Addition mit obiger Formel können nämlich gänzlich unterschiedliche Farben die gleichen Grauwerte annehmen. Diese Verfahren sind aber ziemlich kompliziert.

Gruß
xaromz

turboPASCAL 24. Feb 2006 17:04

Re: Theorie Graustufen
 
1. Beispiel
Code:
MaxRot = 255
MaxGrün = 255
MaxBlau = 255
-------------- / 3 Farben
Weiss  = 255
2. Beispiel
Code:
MaxRot = 100
MaxGrün = 255
MaxBlau = 127
-------------- / 3 Farben
Mittelwert/Hellgrün = 160
Eine einfache Mengenrechnung, reicht um ein Graustufen Umrechnung zu machen.

Nun ist es aber so dass Rot, Grün und Blau einander im Graustufenbereich gegenüber unterschiedlich hell erscheinen. Um eine exakte Gammakorrektur zu erreichen wird dieses System zur berechnung des Graustufentones empfolen. ( http://www.swissdelphicenter.ch/de/showcode.php?id=1154 )

http://de.wikipedia.org/wiki/Grauwert

Mal einfach erklärt. ( und ich hoffe richtig ;) )


// Nanu, kein roter Kasten ? :gruebel:

Merowinger 27. Feb 2006 15:35

Re: Theorie Graustufen
 
Danke an alle die so schnell mir geantwortet haben.

Ich habe nun die Graustufenberechnung verstanden und kann sie in meine Belegarbeit mit aufnehmen.

Vielen Dank

merowinger


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz