• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs April 2024.
    Thema: "Sprichwörtlich"

    Nur noch bis zum 30.04.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
WERBUNG

Helligkeit/Kontrast von Farben (RGB) berechnen ...


Und wenn man alle 3 Komponenten des Vektors auf 42 skaliert, kommt 42 raus, ja. Trotzdem ist das Denken und Rechnen in 8bit-Zahlen hier mindestens irreführend, denn die linearen Werte R, G und B sind i.a. nicht auf 255 skaliert. Das sind üblicherweise die sRGB-Werte in einer JPG-Datei, aber die darf man in die Formel nicht einsetzen. Also denkt man sich der Einfachheit halber lieber gleich lineare RGB-Werte zwischen 0 und 1.
 
Deine Formel ist ne völlig andere als die oben gepostete.
Darfste so nicht einfach kürzen.
Wurzel(0.299*R^2 + 0.587*G^2 + 0.114*B^2) und
Wurzel((0.299+0.587+0.114)*255^2) ist ungleich.


Sorry - nein! Bei der zweiten habe ich nur für jede Farbe 255 eingesetzt! Bitte erst etwas Mathematik überschlagen ... Es ist Ein und Dasselbe!! Lies bitte genau, dann geht's. Setzte einmal 255 ein für jede Zahl (rgb), quadriere NUR die 255, NICHT die Faktoren, und staune. Sind r, g und b unterschiedlich, klar, dann geht Distributivgesetz nicht. Ich habe nur Deinen Irrtum aufgegriffen, dass bei r=g=b=255 H nicht 255 geben soll ......
 
Hatte wegen der Schreibweise 0.299*R^2 das Ergebnis aus 0,299*R quadriert
Bei 0.299*R² wäre es klarer gewesen. Dachte mit 0.299*R^2 ist (0.299*R)² gemeint.
Das bedeutet dann ja das die Formel mit der Wurzel unnötig wie ein Kropf ist.
Wenn man 2 meint schreibt man ja auch nicht Wurzel2² ;)
 
Hatte wegen der Schreibweise 0.299*R^2 das Ergebnis aus 0,299*R quadriert
Bei 0.299*R² wäre es klarer gewesen. Dachte mit 0.299*R^2 ist (0.299*R)² gemeint.
Das bedeutet dann ja das die Formel mit der Wurzel unnötig wie ein Kropf ist.
Wenn man 2 meint schreibt man ja auch nicht Wurzel2² ;)

Lieber André

Ist schon gut. Du hast nun etwas die Orientierung verloren: sobald r, g und b nicht mehr identisch sind, BRAUCHT es eben die Wurzel, weil das Ergebnis dann unterschiedlich ist, mit oder ohne Wurzel. Wurzel(a^2 + b^2) ist nicht a + b ..... Oder zumindest selten :)

"Vektor" war das Schlüsselwort für mich ....

Alles Gute - herzlich

Martin

...
 
Zuletzt bearbeitet:
Ich redete von der falschen Formel Wurzel((0.299+0.587+0.114)*255^2), da lässt sich Wurzel und ^2 wegkürzen.
Das "Wurzel(a^2 + b^2) ist nicht a + b" hatte ich in #4 längst vorgerechnet.

Die Wurzel braucht es übrigens nicht da die Faktoren 0.299 0.587 und 0.114 ja schon
die unterschiedliche Gewichtung (auch unterschiedlicher Farben) berücksichtigt.
Oft wird komplizierter gedacht als es nötig ist.
 
Zuletzt bearbeitet:
Die Wurzel braucht es übrigens nicht da die Faktoren 0.299 0.587 und 0.114 ja schon
die unterschiedliche Gewichtung (auch unterschiedlicher Farben) berücksichtigt.
Oft wird komplizierter gedacht als es nötig ist.
Die Faktoren kommen von der Farbphysiologie der Menschen, also wie hell sehen die Probanden die Farben im Mittel, aber die Wurzel ist die Folge der geometrischen Addition im Farbraum. Also der Betrag des Farbvektors.
 
Zuletzt bearbeitet:
Liebe Alle

Ich möchte gerne berechnen, welche Helligkeit eine RGB-Farbe (als umgerechneter Grauwert) hat. Dazu fand ich ZWEI Formeln und möchte wissen, welche von beiden nun stimmt - und warum:

(...)

Keine der beiden Formen hier stimmt so wirklich, das sind allenfalls grobe Näherungen.

Denn das, was man hier machen muss, das ist eine Farbraum-Transformation. Man muss aus dem RGB-Farbraum z.B. in einen L*a*b* Farbraum umrechnen, damit man zu jeder RGB-Kombination eben nicht nur die Farben (a*,b*), sondern auch die jeweilige Helligkeit L* hat. Wobei der CIEL*a*b* Farbraum den menschlichen Sehen sehr nahe kommt.

Dazu muss man erst mal wissen ob das Bild in sRGB kodiert ist (das ist de facto Standard...) oder z.B. nur als reines RGB. Das ist dann "irgend ein RGB", das direkt vom Gerät abhängt (und damit auf einem anderen Gerät schon wieder ganz anders aussieht). Ist es z.B. lineares (und damit geräteabhängiges) RGB, dann muss das Ganze zuerst mal in einen normierten Farbraum wie z.B. sRGB gebracht werden, d.h. man muss z.B. den Weißpunkt anpassen usw.

Anschließend kann man das sRGB dann in den CIE 1931 XYZ Farbraum transformieren, das ist eine 3D-Matrix-Operation.
Die Formel dafür findet sich z.B. hier: https://en.wikipedia.org/wiki/CIE_1931_color_space

Und aus dem CIE-1931 XYZ kann man dann direkt die Helligkeit L* des CIEL*a*b* Farbraums berechnen, also die reine Helligkeit der Farbe, wie sie in etwa vom Auge wahrgenommen würde.
Formel unter:
https://en.wikipedia.org/wiki/Lab_color_space#RGB_and_CMYK_conversions


Fürs Internet (Kontstruktion von Webseiten z.B.) in etwa ausreichend ist aber schon die hier erwähnte Formel als Näherung, die sich wohl jemand eher empirisch erarbeitet hat:

Helligkeit = ca. sqrt(0,299* r^2 + 0,587 *g^2 + 0,114 * b^2). mit r,g,b = [0,255].
Das gibt dann "schön aussehende" Graustufenbilder.
 
Zuletzt bearbeitet:
Helligkeit = ca. sqrt(0,299* r^2 + 0,587 *g^2 + 0,114 * b^2). mit r,g,b = [0,255].

Lrtimelapse benutzt für die Berechnung der Helligkeit = (R + G + B) / 3.
Mit diesem Wert wird die Helligkeit der Bilder von Zeitraffern angeglichen (Deflicker). Die Deltas dieser Berechnung werden dann in EV’s umgerechnet und landen dann in den ‚Exposure2012‘ in den Metadaten von LR.

Auf die Frage, warum er das so macht und nicht die obige Formel verwendet, bekam ich die Antwort, das es in diesem Fall besser so ist. Man möchte sich ja auch nicht in die Karten schauen lassen...
Welcher Grund kann das sein?
 
Zuletzt bearbeitet:
Ich redete von der falschen Formel Wurzel((0.299+0.587+0.114)*255^2), da lässt sich Wurzel und ^2 wegkürzen.
Das "Wurzel(a^2 + b^2) ist nicht a + b" hatte ich in #4 längst vorgerechnet.

Die Wurzel braucht es übrigens nicht da die Faktoren 0.299 0.587 und 0.114 ja schon
die unterschiedliche Gewichtung (auch unterschiedlicher Farben) berücksichtigt.
Oft wird komplizierter gedacht als es nötig ist.

Die Formel ist für r=g=b=255 zwar goldrichtig (Distributivgesetz; ich wollte ja nur zeigen, dass es nicht 170 oder was ergibt, wenn man für r, g und b = 255 setzt (#16); ich "behandelte" nur diesen Spezialfall, um Deinen Irrtum aufzuzeigen), aber lassen wir dies nun.

Zum Anderen: meinst Du, dass die approximative Formel MIT Wurzel dafür, dass sie ähnliche Ergebnisse liefert wie jene OHNE Wurzel, unnötig kompliziert ist?
Ich sah eben aus einem geposteten Link Bilder, die beide Formeln sichtbar verglichen, nämlich: Grauwert als Schrift auf der entsprechenden Farbe. Über die Formel OHNE Wurzel konnte man Kontraste erkennen (Schrift war recht gut lesbar auf den Farben da und dort); über die Formel MIT Wurzel verschwanden die Schriften erstaunlich in der Farbe - daher ist die Formel MIT Wurzel wohl eine exaktere Näherung ...

Habt es gut - Martin

...
 
Zuletzt bearbeitet:
Lrtimelapse benutzt für die Berechnung der Helligkeit = (R + G + B) / 3.
Mit diesem Wert wird die Helligkeit der Bilder von Zeitraffern angeglichen (Deflicker). Die Deltas dieser Berechnung werden dann in EV’s umgerechnet und landen dann in den ‚Exposure2012‘ in den Metadaten von LR.

Auf die Frage, warum er das so macht und nicht die obige Formel verwendet, bekam ich die Antwort, das es in diesem Fall besser so ist. Man möchte sich ja auch nicht in die Karten schauen lassen...
Welcher Grund kann das sein?

Hmm - da wird nun aber GAR nicht darauf eingegangen, dass r, g und b unterschiedlich wirken in der Helligkeit auf unsere Augen .....
 
... meinst Du, dass die approximative Formel MIT Wurzel dafür, dass sie ähnliche Ergebnisse liefert wie jene OHNE Wurzel, unnötig kompliziert ist?
Genau das meine ich. Es geht ja nur darum den Faktor für empfundenen Farbhelligkeit mit zu berücksichtigen.
Genau das macht ja die Formel durch die Faktoren, warum sollte das nicht linear sein.

Die Formel (R + G + B) / 3 gilt für eine reine Entsättigung ohne berücksichtigung der empfundenen Farbhelligkeit.
Das passiert in Ps durch die Entsättigung mittels "Farbton/Sättigung".
Die Formel mit den Faktoren trifft für die Entsättigung über "Dynamik" zu.
 
Zuletzt bearbeitet:
Genau das meine ich. Es geht ja nur darum den Faktor für empfundenen Farbhelligkeit mit zu berücksichtigen.
Genau das macht ja die Formel durch die Faktoren, warum sollte das nicht linear sein.

Die Formel (R + G + B) / 3 gilt für eine reine Entsättigung ohne berücksichtigung der empfundenen Farbhelligkeit zu.
Das passiert in Ps durch die Entsättigung mittels "Farbton/Sättigung" zu.
Die Formel mit den Faktoren trifft für die Entsättigung über "Dynamik" zu.

Weil es Vektoren sind vielleicht, quasi dreidimensionaler Pythagoras. Jedenfalls erzeugt die Formel MIT Wurzel eindeutig bessere Resultate ...
 
Jedenfalls erzeugt die Formel MIT Wurzel eindeutig bessere Resultate ...
Gut möglich, vielleicht passen ja die Werte der Farktoren nur zu der Formel MIT Wurzel?
Mir kommt die große Spreizung der Faktorenwerte auch leicht übertrieben vor.
Bei subjektiven Empfindungen bleibt die Mathematik oft auf der Strecke;
was mathematisch korrekt ist muss nicht immer auch am schönsten sein.
 
Gut möglich, vielleicht passen ja die Werte der Farktoren nur zu der Formel MIT Wurzel?
Mir kommt die große Spreizung der Faktorenwerte auch leicht übertrieben vor.
Bei subjektiven Empfindungen bleibt die Mathematik oft auf der Strecke;
was mathematisch korrekt ist muss nicht immer auch am schönsten sein.

Das stimmt :) Mathematik ist wundervoll - nicht immer aber automatisch ästhetisch in ihrer Manifestation. Du machst ja auch Kunst, gell? Mit Holz ... Da ist Mathematik allein wohl auch nicht alles lösend und gestaltend ;) ...
 
Zuletzt bearbeitet:
Weil es Vektoren sind vielleicht, quasi dreidimensionaler Pythagoras. Jedenfalls erzeugt die Formel MIT Wurzel eindeutig bessere Resultate ...

Ja, RGB-Farbräume sind immer 3-dimensionale Räume, da jede Farbe aus den 3 Komponenten r,g,b besteht. Und Farben sind dann einfach Vektoren in diesem Raum.

Aber auch L*a*b* ist ein 3D-Farbraum, hier hat man die Helligkeit L* als Achse und a* ist die rot-grün Achse während b* die blau-gelb Achse ist. Wobei hier L* senkrecht als Achse über der a*b* Ebene steht, welche die Farbigkeit angibt. D.h. mit a* = 0 und b* = 0 hat man hier nur noch den Grauwert.

Photoshop arbeitet z.B. intern normal in einem Lab-Farbraum, da man hier zum einen alle möglichen Farben abdecken kann und zum anderen z.B. die Helligkeit eines Bildes ändern kann, ohne dass man die Farbwerte ändert (und umgekehrt). Außerdem kann man über den Lab-Farbraum auch verlustfrei in andere Farbräume umrechnen.
 
WERBUNG
Zurück
Oben Unten