"Mathematische" Frage: Wie rechnet Photoshop

Gismo

Grünschnabel
Hallo

Ich hab eine etwas ungewöhnliche Frage. Kann mir jemand sagen, was genau berechnet wird, wenn ich z.B. die Sättigung auf +100 einstelle? Die Wirkund auf das Bild ist ja offensichtlich, doch ein Bild besteht bekanntlich nur aus "Zahlen" die die Farbwerte darstellen. Kann mir jemand sagen, was da genau berechnet wird? Ich vermute es werden irgendwelche Berechnungen/Änderungen in der y-Ebene (ycbcr-Raum) durchgeführt...?

Falls jemand einen Link zu ner Seite hat, die auch andere Funktionen "mathematisch" erklärt wäre ich sehr dankbar (z.B. Hellichkeit, Kontrast, Tonwertkorrektur, Gradationskurven usw...). Ich hab leider nix gefunden oder nach dem total falschen gegoogelt...

Schon in Voraus vielen Dank für allfällige Hilfestellungen (!)
 
Farbentheorie

Also,
Farbe lässt sich auf verschiedene Art und Weise beschreiben. Vielen bekannt dürfte die Farbdefinition mittels Rot-, Grün- und Blauwerten sein, die für die Bildschirmdarstellung grundlegend ist oder auch die Einteilung in die Druckfarbenwerte Cyan, Magenta, Gelb und ggf. Schwarz. Doch es gibt noch andere Möglichkeiten, Farben mit mindestens 3 quantitativen (d.h. mathematisch beschreibbaren) Attributen zu systematisieren.

Herrmann von Helmholtz kam bereits im 19. Jh auf die Idee, Farben anhand von Farbton, Sättigung (=Intesität der Farbigkeit) und Helligkeit zu beschreiben. Dies ist jedoch eine rein mathematisch-formale Sache und nur bedingt Praxistauglich.

Bei einer RGB-Datei bleiben die z.B. Grün und Blau unverändert, wenn ich gezielt nur den Rotwert einer Farbe verändere.
Bei HSB (das ist die Abk. für die englische Bezeichnung für Hue = Farbton, Saturation = Sättigung und Brightness = Helligkeit) sind die drei Eigenschaften nur theoretisch unabhängig voneinander: Wenn ich z.B. mittels >Bearbeiten>Farbton/Sättigung ... den Regler für die Sättigung ganz hoch reiße, müssten eigentlich die Farben in Bezug auf ihre Helligkeit unverändert bleiben - tun sie aber nicht. Sie leuchten zwangslaufig auch stärker.
Oder ungekehrt: wenn ich eine Farbe sehr hell mache, driftet sie richtung Weiß und ist dadurch zwangsläufig weniger gesättigt: die Farbigkeit sinkt.

Dennoch kann die Manipulation mittels Farbton/Schättigung... in Photoshop sehr nützlich und parktisch sein, um gezielte Veränderungen vorzunehmen, die sonst nur über komplexe Farbauswahlen zu machen wären.
Ein Beispiel: wir denken uns ein Bild, auf dem eine rote Rose an einem grünen Strauch zu sehen ist. Ich könnte gezielt dem Rot mehr leuchtkraft geben und gleichzeitig das Grün abdunkeln und dadurch tierfer wirken lassen, damit die Blüte auch wirklich knallig aus dem Bild hervorsticht - und das alles in einem Arbeitsgang mit nur wenigen Klicks, ohne lange zu maskieren. Ich achte aber darauf, dass die Eingriffe nicht zu knallig und bunt werden - (Das kann oberndrein auch nicht mehr gedruckt werden, da die maximale Sättigung von Druckfarben viel geringer ist als auf dem Bildschirm möglich!)

Einige Grundlangen zu HSB anderen gängigen Farbmodellen findest Du hier:
http://www.extrabyte.de/pages/stuff/farben-tutorial/04-hsb-farbmodell.htm
 
Um den mathematischen Aspekt der Frage zu beleuchten sollte gesagt werden, dass es sich beim HSB Farbmodell um eine zylindrische Form handelt, welche mithilfe von Vektoren definiert wird.
-> Jedoch ist es im Gegensatz zum Lab-Farbmodell (=geräte- und technikunabhängiger Farbraum - wichtig für Farbmanagement) kein rein mathematisches Farbmodell.

Zum HSB-Farbmodell:
Der Winkel des Vektors zur senkrechten Achse ist (alpha) und dieser beschreibt den Farbton (H). Die Sättigung (S) ist der Abstand zur Zylinderachse und die Helligkeit (B) ist der vertikale Abstand zur Zylindergrundfläche (beta).
D.h., dass durch die Definition der Werte eine "Scheibe" des Zylinders "herausgeschnitten" wird.

Die Farbtiefe wird durch max. 3*16 Bit bei 3 Kanälen definiert.

Soviel zur Ergänzung.

greez

der mono
 
Besten Dank für die Antworten!

Die Erklärungen haben mir bedingt weiter geholfen. Der Grund warum ich frage ist folgender: Für eine Bildverarbeitungs/erkennungsaufgabe die schlussendlich mit einem C++ Programm gelöst werden soll, muss ich die aufgenommenen Bilder entsprechend verändern. Um das ganze etwas zu testen habe ich in Photoshop einzelne "Bearbeitungen" vorgenommen. So z.B. Bei Farbton/Sättigung alle Farben bis auf Rot die Sättigung auf -100, jene von Rot auf ca +100. Ich erhalte nun logischerweise ein "Graustufenbild", die definierten Rottöne ("Winkeleinstellung" unverändert) jedoch etwas verstärkt.
Wenn ich nun im selben Bild die entsprechenden Operationen durchführe (Bild in HSV transformieren, in der H-Ebene die entsprechenden Werte auf 0 resp 1 setze), dann erhalte ich nicht das selbe Ergebnis. Ich dachte evtl könnte mir einer etwas genauer den Algorithmus den Photoshop anwendet erläutern. Anders herum denke ich, wird das wohl niemand können. Adobe wird wohl kaum die "Erfolgsgeheimnisse" preisgeben :suspekt:

Für mich hat sich das Thema soweit erledigt. Trotzdem wäre es interessant zu wissen:-)

Nochmals besten Dank
Gismo
 
Naja, die Algorithmen zur Veränderung der HSB-Werte sind glaube ich weniger ein Geheimnis, da das Verhalten der Farbmodelle klar definiert ist.

Adobe wird sich dazu sicher trotzdem ausschweigen. ;)
 
Also, ich weiss ja eigentlich weiss was zu tun ist (zumindest hoffe ich das :-) ) aber ich erhalte dennoch nicht die gleichen Ergebnisse wie Photoshop (mit Photoshop werden die farben irgendwie leuchtender/heller). Es wird wohl auch in der B-Ebene was verändert. Doch was wie und in welchem Zusammenhang von Photoshop verändert wird, wenn ich am Sättigungs-Schieber herumspiele ist offensichtlich mehr, als nur die Sättigungs-Werte... Wie dem auch sei... Ich will kein zweites Photoshop programmieren ;)
 
Zurück