Helligkeit einzelner Pixel per PHP bestimmen
Helligkeit einzelner Pixel per PHP bestimmen
am 14.09.2006 17:55:29 von Ricardo Wickel
Guten Tag Newsgroup,
ich möchte gerne per PHP die Helligkeit einzelner Pixel bestimmen.
Bis jetzt mache ich dies, indem ich per ImageColorat und
ImageColorsForIndex die RGB-Werte auslese und diese anschließend addiere:
$helligkeit = $rgb['red'] + $rgb['green'] + $rgb['blue']
Nun müsste bei diesem Wert gelten: Umso höher $helligkeit, desto heller
das Bild? Oder sehe ich da etwas falsch?
bzw. gibt es eine einfachere Methode für diese Bestimmung oder sogar
eine bessere?
Vielen Dank schoneinmal,
Ricardo Wickel
Re: Helligkeit einzelner Pixel per PHP bestimmen
am 14.09.2006 18:15:35 von Ulf Kadner
Ricardo Wickel wrote:
> ich möchte gerne per PHP die Helligkeit einzelner Pixel bestimmen.
> Bis jetzt mache ich dies, indem ich per ImageColorat und
> ImageColorsForIndex die RGB-Werte auslese und diese anschließend addiere:
> $helligkeit = $rgb['red'] + $rgb['green'] + $rgb['blue']
>
> Nun müsste bei diesem Wert gelten: Umso höher $helligkeit, desto heller
> das Bild? Oder sehe ich da etwas falsch?
Nee das haupt so nicht hin.
> bzw. gibt es eine einfachere Methode für diese Bestimmung oder sogar
> eine bessere?
Da gibts sogar vom W3C ein Dokument zu. Hab nur keine Lust das erst zu
suchen.
((Rot-Wert x 299) + (Grün-Wert x 587) + (Blau-Wert x 114)) / 1000
MfG, Ulf
Re: Helligkeit einzelner Pixel per PHP bestimmen
am 14.09.2006 18:17:23 von Ulf Kadner
Ulf Kadner wrote:
> ((Rot-Wert x 299) + (Grün-Wert x 587) + (Blau-Wert x 114)) / 1000
Besser so um Missverständnisse zu vermeiden
((Rot x 299) + (Grün x 587) + (Blau x 114)) / 1000
MfG, Ulf
Re: Helligkeit einzelner Pixel per PHP bestimmen
am 14.09.2006 18:33:08 von Ulf Kadner
Ulf Kadner wrote:
> Besser so um Missverständnisse zu vermeiden
>
> ((Rot x 299) + (Grün x 587) + (Blau x 114)) / 1000
Nochmal ich!
Definiert wird das ganze hier:
Checkpoint 2.2 - Ensure that foreground and background color
combinations provide sufficient contrast when viewed by someone having
color deficits or when viewed on a black and white screen
http://www.w3.org/TR/AERT#color-contrast
MfG, Ulf
Re: [OT] Helligkeit einzelner Pixel per PHP bestimmen
am 14.09.2006 18:52:10 von Wolfgang Fellger
Ulf Kadner schrieb:
>Nee das haupt so nicht hin.
Naja, so pauschal ist das nicht richtig. Er gewichtet eben die einzelnen
Farbkomponenten gleich, was ja deshalb nicht völlig falsch ist.
Es stimmt natürlich genauso dass das menschliche Sehempfinden anders
funktioniert, so dass zum Beispiel
rgb(0, 255, 0)
deutlich heller wahrgenommen wird als
rgb(0, 0, 255).
Die von dir genannte Formel berücksichtigt das und wird allgemein verwendet.
--
Wolfgang Fellger
Re: [OT] Helligkeit einzelner Pixel per PHP bestimmen
am 14.09.2006 19:53:22 von Ulf Kadner
Wolfgang Fellger wrote:
> Naja, so pauschal ist das nicht richtig. Er gewichtet eben die einzelnen
> Farbkomponenten gleich, was ja deshalb nicht völlig falsch ist.
Wolfgang!
Zu grosse Ungenauigkeit ist Deiner Meinung nach also kein Argument?
> Es stimmt natürlich genauso dass das menschliche Sehempfinden anders
> funktioniert, so dass zum Beispiel
> rgb(0, 255, 0)
> deutlich heller wahrgenommen wird als
> rgb(0, 0, 255).
> Die von dir genannte Formel berücksichtigt das und wird allgemein verwendet.
Was anderes wollte ich damit nicht sagen. Es zählt hier doch nur was wir
als Menschen wahrnehmen, aber das nahm ich bereits als Voraussetzung an.
Effektiv belegt das der Link den ich gepostet habe.
MfG, Ulf
Re: [OT] Helligkeit einzelner Pixel per PHP bestimmen
am 14.09.2006 20:24:22 von Wolfgang Fellger
Ulf Kadner schrieb:
>Wolfgang!
Ja, Ulf? ;-)
>Zu grosse Ungenauigkeit ist Deiner Meinung nach also kein Argument?
Was heisst hier ungenau? Er berechnet einfach etwas anderes - einen Wert für
die Helligkeit, der subjektives Empfinden gerade nicht einbezieht. Ob er das
wollte sei dahingestellt, der OP hat ja keinen Ton dazu gesagt was er mit
diesem Ergebnis anfangen will.
>>Die von dir genannte Formel berücksichtigt das und wird allgemein verwendet.
>
>Was anderes wollte ich damit nicht sagen.
Es war auch eher als Hinweis Richtung OP gedacht.
>Es zählt hier doch nur was wir als Menschen wahrnehmen, aber das nahm ich
>bereits als Voraussetzung an.
Natürlich sagt auch meine Glaskugel dass er eigentlich das berechnen wollte,
aber ein bisschen Nitpicking wird ja noch erlaubt sein, verzeih mir :-)
Um noch ein bisschen Inhalt in diesen Post zu bringen: Die "magic numbers" für
die Gewichtung der Farbkomponenten wurden lange vor dem Internetzeitalter für
die Umrechnung RGB<->YUV (z.B. analoges Fernsehen) festgelegt.
--
Wolfgang Fellger
Re: [OT] Helligkeit einzelner Pixel per PHP bestimmen
am 14.09.2006 21:33:06 von Ulf Kadner
Wolfgang Fellger wrote:
> Ja, Ulf? ;-)
Wolfgang! :-)
> Was heisst hier ungenau?
Ok nenn ich es mal das Gegenteil von Genau. ;-)
> Er berechnet einfach etwas anderes - einen Wert für
> die Helligkeit, der subjektives Empfinden gerade nicht einbezieht.
Kann man das denn so differenzieren? Naja egal, wir wissen ja jetzt was
wir meinen.
> Es war auch eher als Hinweis Richtung OP gedacht.
asso...
> Natürlich sagt auch meine Glaskugel dass er eigentlich das berechnen wollte,
> aber ein bisschen Nitpicking wird ja noch erlaubt sein, verzeih mir :-)
hehe, nix da ;-) Manchmal bin ich halt etwas langsam! Ist dann wohl so
im Alter.
> Um noch ein bisschen Inhalt in diesen Post zu bringen: Die "magic numbers" für
> die Gewichtung der Farbkomponenten wurden lange vor dem Internetzeitalter für
> die Umrechnung RGB<->YUV (z.B. analoges Fernsehen) festgelegt.
Danke!
MfG, Ulf
Re: Helligkeit einzelner Pixel per PHP bestimmen
am 14.09.2006 23:42:19 von Ricardo Wickel
Ulf Kadner schrieb:
> Ulf Kadner wrote:
>
>> Besser so um Missverständnisse zu vermeiden
>>
>> ((Rot x 299) + (Grün x 587) + (Blau x 114)) / 1000
>
> Nochmal ich!
>
> Definiert wird das ganze hier:
>
> Checkpoint 2.2 - Ensure that foreground and background color
> combinations provide sufficient contrast when viewed by someone having
> color deficits or when viewed on a black and white screen
> http://www.w3.org/TR/AERT#color-contrast
>
> MfG, Ulf
Vielen Dank für die Antwort.
Benötige dieses Wissen nur für paar Spielereien in PHP ;-)
mfg,
Ricardo Wickel
Re: [OT] Helligkeit einzelner Pixel per PHP bestimmen
am 15.09.2006 01:07:14 von Niels Braczek
Ulf Kadner schrieb:
> Wolfgang Fellger wrote:
>=20
>> Naja, so pauschal ist das nicht richtig. Er gewichtet eben die einzeln=
en
>> Farbkomponenten gleich, was ja deshalb nicht völlig falsch ist.
>=20
> Zu grosse Ungenauigkeit ist Deiner Meinung nach also kein Argument?
Das Verfahren ist durchaus genau. Es stimmt nur nicht mit der
Wahrnehmungswirklichkeit der menschlichen Spezies überein. Für Klingo=
nen
(rotblind, Sichtbereich ins Ultraviolette verschoben) müsste die Formel=
etwa so aussehen:
((Rot x 0) + (Grün x 300) + (Blau x 500)) / 1000
Der fehlende Anteil fällt auf Kalish, das aber mit unseren Monitoren
nicht angezeigt werden kann.
>> Es stimmt natürlich genauso dass das menschliche Sehempfinden anders=
>> funktioniert, so dass zum Beispiel
>> rgb(0, 255, 0)
>> deutlich heller wahrgenommen wird als
>> rgb(0, 0, 255).
>> Die von dir genannte Formel berücksichtigt das und wird allgemein ve=
rwendet.
>=20
> Was anderes wollte ich damit nicht sagen. Es zählt hier doch nur was =
wir=20
> als Menschen wahrnehmen, aber das nahm ich bereits als Voraussetzung an=
.
> Effektiv belegt das der Link den ich gepostet habe.
Damit hast du Recht, das ändert aber nichts daran, dass (R+G+B)/3
ebenfalls eine gültige Metrik darstellt. Sie ist nur nicht praktisch,
wenn man sich für die wahrgenommene Helligkeit und nicht den
Stromverbrauch pro Pixel interessiert.
MfG
Nie(Klugscheißen macht Ah!)ls
--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Re: [OT] Helligkeit einzelner Pixel per PHP bestimmen
am 15.09.2006 11:03:13 von Ulf Kadner
Niels Braczek wrote:
> Ulf Kadner schrieb:
>>Zu grosse Ungenauigkeit ist Deiner Meinung nach also kein Argument?
>
> Das Verfahren ist durchaus genau. Es stimmt nur nicht mit der
> Wahrnehmungswirklichkeit der menschlichen Spezies überein.
Hallo Niels!
Wie gesagt ich hatte mich hier bereits auf Wahrnehmung bezogen ohne es
explizit zu erwähnen. Mein Fehler!
> Für Klingonen
:-)
> (rotblind, Sichtbereich ins Ultraviolette verschoben) müsste die Formel
> etwa so aussehen:
> ((Rot x 0) + (Grün x 300) + (Blau x 500)) / 1000
Über was Du Dir so Gedanken machst! :-x
> Damit hast du Recht, das ändert aber nichts daran, dass (R+G+B)/3
> ebenfalls eine gültige Metrik darstellt.
Korrekt!
MfG, Ulf