Helligkeit einer Farbe, Definition?

Anfängerfragen zum Programmieren mit PureBasic.
JayCool
Beiträge: 54
Registriert: 02.08.2007 20:03

Helligkeit einer Farbe, Definition?

Beitrag von JayCool »

Hi,

ich würd' mal gerne die Meinung eines Experten zu diesem Thema wissen:
Wie ermittelt man eigentlich die Helligkeit eines Pixels in einem Bild?

Ich kenne prinzipiell zwei mögliche Methoden, die Helligkeit zu berechnen, siehe Codeschnipsel.

Code: Alles auswählen

farbe = Point(x,y)

rot = Red(farbe)
gruen = Green(farbe)
blau = Blue(farbe)

helligkeit1 = (rot + gruen + blau)/3

helligkeit2 = Sqr(rot * rot + gruen * gruen + blau * blau)
Ich bin mir aber nicht sicher, welche der beiden Formeln den korrekten / korrekteren Wert wiedergibt.
Eigentlich beschreibt ja die Farb-Angabe mittels RGB-Werten einen dreidimensionalen Vektor. Da ist es doch eigentlich nur logisch, wenn die Helligkeit einfach als Länge dieses Vektors gewählt werden kann.

Bei Wikipedia gibt's dann auch noch unter dem Stichwort 'Grauwert' die Angabe

Grauwert = 0,299·Rot + 0,587·Grün + 0,114·Blau

Gruß, Jan
Zuletzt geändert von JayCool am 21.01.2008 08:48, insgesamt 1-mal geändert.
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Nimm einfach dieses Farbmodell hier: http://en.wikipedia.org/wiki/HSL_color_space

Dort hast Du nicht RGB sondern Farbton, Sättigung und Helligkeit. Unter "Conversion from RGB to HSL or HSV" findest Du die passenden Formeln.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Ja, oder du nimmst gleich den Code von Froggerprogger:

http://www.purebasic.fr/german/viewtopi ... hlight=hsl
Windows 10 Pro, 64-Bit / Outtakes | Derek
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

die drei Skalare, die du bei Wiki gefunden hast, sind die offiziell anerkannten.
das basiert darauf, dass Grün eine wesentlich höhere Leuchtkraft hat als Blau.

kannst du selber ausprobieren:
mach nachts deinen Desktop mal grün255, und guck an die Wand gegenüber vom Monitor,
und dann mach ihn mal blau255, und guck noch mal.

Olaf hatte dazu auch mal Code gepostet:
http://www.purebasic.fr/german/viewtopi ... light=luma
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

dass Grün eine wesentlich höhere Leuchtkraft hat als Blau
Naja....

es ist ehr so, dass unser Auge für den WellenlängenBereich Grün empfindlicher ist als für Blau oder Rot, dadurch habe wir nur den Eindruck das Grün "heller" ist als andere Farben.
Zuletzt geändert von STARGÅTE am 22.01.2008 00:52, insgesamt 1-mal geändert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

Grün empfindlich ist also für Blau oder Rot
ich finde deine typos immmer ungemein unterhaltsam. :lol: ..weiter so
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

ja lol, das kommt daher das ich immer mehrere Sachen gleichzeitig im Kopf habe ^^ und wenig schlafe ^^, damit streut alles im Kopf rum ^^

Ich meine bei mir ist es inzwischen so weit gekommen, das ich an 2 PC gleichzeitig Programmiere, während der eine PC compiliert und ich daran teste, schreibe ich am andere bereits neuen Code oder verbesser die Bugstellen.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Bin mir nicht sicher, ob das nur am Auge liegt. In S/W-Filmen sind rote Flächen ja meist auch dunkler als grüne.

Man könnte es probieren, indem man auf seinem Bildschirm drei Flächen anzeigt - reines Rot, reines Grün und reines Blau - und diesen Bildschirm dann mit einer ganz normal analogen Kamera abfotografiert, und zwar auf einen S/W-Film. Ich bin mir ziemlich sicher, daß dann ebenfalls die grüne Fläche die hellste wäre.

Mit dem PC kann man's natürlich nicht nachprüfen, weil wenn man auf dem PC das Bild in S/W (also in dem Fall Graustufen) konvertiert, wird dies ja unter Umständen unter der Berücksichtigung von diesen Eigenschaften gemacht. Daher geht das wohl nur mit 'nem Fotoapparat.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Hier wird schön erklärt wie das Auge die Farben wahrnimmt:
http://de.wikipedia.org/wiki/Farbwahrnehmung

Mit dem PC versuch und Kamera kann man so nicht machen, da ja die Farbe von PC nichtig nur eine Wellenlänge abgibt, sonder ein ganzes Band

Wenn dann müsste man nicht einzelne Spektrallinien heraussuchen und diese dann mit SW abfotografiert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Hmm jo da hast Du auch wieder recht, aber sind Farben wie FF0000, 00FF00 und 0000FF nicht nahezu spektral?

Aber andererseits ist ja auch das wieder egal, weil es geht ja exakt um diese Farbtöne. Hier ist grün der hellste und blau der dunkelste. Und ob das nun am menschlichen Auge liegt oder tatsächlich irgendwie von Belang ist, müßte sich damit eigentlich durchaus testen lassen. Weil es ja eben um diese RGB-mäßig "reinen" Töne geht, und nicht um die Spektralfarben.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Antworten