Beiträge von fastride im Thema „Rotverschiebung im RGB Farbraum“

    (==>)Ronny


    Sieht doch nicht schlecht aus! Das Grün ist schwach, weil im RGB nichts aus dem UV Bereich ins sichtbare Spektrum nachgeschoben wird.
    Ich hab mal ein Spektrum etwas "Zerlegt". Man sieht, dass RGB im Violetten wieder Rot dazu mischt, was nicht ganz optimal ist, da dieser Anteil sich bei der Verschiebung Richtung Rot die Farben etwas verfälscht.


    Könntest Du mal ein Spektrumbild in RGB mit Wellenlängenskala in gleichen Abständen, wie im oberen Bild darstellen?
    Ich wär auch am Excel File interessiert.


    Gruss Konrad

    Ich hab mal das Verfahren ausprobiert.


    Ein RGB Bild habe ich in die drei RGB Kanäle gesplittet.


    Dann die Helligkeit über alle Graustufen gleichmässig verringert.


    Zum Schluss die drei Kanäle wieder gemerged.


    Original RGB
    zweites Bild R(100%)G(80%)B(60%)
    drittes Bild R(100)%G(60%)B(30%)


    Die Prozentzahlen sind jetzt frei erfunden und nicht aus dem Spektrum berechnet, aber das Prinzip funktioniert.





    Gruss Konrad

    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: mkoch</i>
    <br />[quote][i]


    Da hast du aber keine Verschiebung durchgeführt. Wenn ein Punkt vorher grün war, dann ist er hinterher immer noch grün, nur etwas dunkler.


    Gruß
    Michael
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Ja, das ist wahr, aber das Auge macht genau das.


    Im RGB hast Du ja nur die Information für NUR drei Punkte auf dem Spektrum!


    (WIKI)
    rot: 700 nm (praktisch sind für das menschliche Auge alle Wellenlängen oberhalb von 650 nm farbgleich, daher sind praktisch alle Spektrallinien oberhalb von 650 nm nutzbar, beispielsweise die tiefrote 690,7-nm-Hg-Linie)
    grün: 546,1 nm (grüne Hg-Linie)
    blau: 435,8 nm (blaue Hg-Linie)


    Das Bild enthält keine Informationen, was 50 nm links oder rechts liegt, es wird alles auf RGB reduziert.
    Daher hast du keine andere Möglichkeit, als nur über die Helligkeit zu gehen.



    ***Diesen Satz habe ich nicht verstanden. Kannst du das in Form eines Algorithmus ausdrücken?***



    Man müsste die Funktion für das folgende Bild haben:




    Intensität = f(Wellenlänge)


    für die Wellenlängen von R G B gibt es einen Intensitätswert im Spektrum.
    Wenn Du jetzt davon ausgehst, dass sich das ganze Spektrum um sagen wir 50nm verschiebt, dann hast die Werte R(-50nm) G(-50nm) B(-50nm)


    G und B kommen liegen links vom Maximum, werden also kleiner
    R liegt rechts davon, wird also grösser.


    Ich würd es einfach mal probieren, wie es aussieht.
    Du kannst nur über die drei Farbkanäle steuern, mehr Info ist ja nicht da

    Es gibt nicht für jede RGB Farbe eine tatsächliche Entsprechung im Spektrum, das Spektrum ist eine gekrümmte Linie im Farbraum, und nur diese Werte haben eine direkte Entsprechung.


    https://de.wikipedia.org/wiki/RGB-Farbraum


    Die Mischung der 3 RGB Wellenlängen macht unser Gehirn, nicht die Mathematik.


    Ich hab viele Mikroskop Bilder mit "ImageJ" gerechnet.
    Es ist eine Freeware die aber ENORM leistugsfähig ist.


    Da kannst du ein RGB Bild in die drei Kanäle splitten, das ist erstaml alles, was unsere Augen sehen, den Rest macht das Gehirn.


    Dann schau die die Empfindlichkeitskurve der Augen für die 3 RGB Farben an. Das Auge sieht ja nur diese.
    Eine Verschiebung macht sich nur über die wahrnehmbare Helligkeit der einzelnen Farben bemerkbar, die siehst du aber im Binärbild nicht!


    Also machst du vom RGB noch ein 256 Stufen Grauspektrum.


    Jetzt schaust du dir für jede RGB Farbe, wie intensiv sie im realen Sonnenspektrum liegt und berechnest die gewünschte Verstärkung für Rot und die entsprechende Abschwächung für Grün und Blau.


    Aber weil das zu aufwändig ist würd ich für rein künstlerische Zwecke folgendes machen:


    Rotkanal bleibt identisch


    Dann machtst du das RGB Bild 20% (mehr oder weniger) dunkler und zerlegst es nochmal in die 3 Kanäle. Davon nimmst du den Grün-anteil


    Dann machst du das RGB nochmal 20% dunkler und wieder in 3 Kanäle teilen, und jetzt nur den Blau anteil behalten.


    Jetzt addierst du 100%R 80%G und 60%B wieder zu einem RGB und hast sowas, wie eine Rotverchiebung.


    Mit "ImageJ" kannst du sogar ein Makro schreiben, welches das erledigt.


    Gruss Konrad


    ImageJ --&gt; https://imagej.nih.gov/ij/download.html

    Die Rotverschiebung sagt ja nicht viel über das, was man tatsächlich beobachtet, es ist "nur" die Verschiebung einzelner Spektralllinien im Spektrum. Das Spektrum selber ist selbst für anständig weit entferne Galaxien noch sehr ähnlich zur Sonne.


    Wenn es aber nur um den künstlerischen Effekt geht, kann man das umrechnen.



    http://www.olos.de/~ukern/publ/tex/pdf/dtk200504.pdf


    Entweder du schreibst ein kleines Programm oder du hast MathCad oder Mathematica zur Hand, dort kannst Du Rechenoperationen direkt am RGB Bild machen und sogar als Funktion definieren.


    Also zuerst jeder Punkt nach Wellenlänge, dann um gewünschten Betrag verschieben und dann wieder zurück zu RGB.


    Gruss Konrad