Gibt es eine Möglichkeit, eine korrekte Farbmischung ohne Posterisierung zu erhalten, wenn nur mit 8 Bit gearbeitet wird? Oder etwas Besseres als die lineare RGB-Farbraummischung?

Ich bin auf der Suche nach einer praktischen und orthogonalen Lösung, die vorzugsweise:

  • Beeinflussen Sie jeden Mischmodus.
  • Kann eine möglichst korrekte Additivmischung erzeugen.
  • Produzieren Sie beim Mischen und möglichen Übermischen selbst bei wirklich niedrigen Intensitätswerten eine möglichst geringe Posterisation.

Warum:

Das Arbeiten in linearem und/oder hoher Präzision ist nicht perfekt.

  • Es macht Operationen anfälliger für die Posterisierung ( dunkle Werte leiden am meisten ), zum Beispiel ist die linke Leinwand eine Mischung über 16 Bit XYZ, die rechte ist 8 Bit über linearem sRGB, beide wahrnehmungsmäßig in nichtlinearem sRBG visualisiert:

Es wäre großartig, mit 8 Bit zu arbeiten, da dies zu einer leistungsfähigeren Leinwand führen würde.

  • Es wird keine absolut echte additive Farbmathematik erzeugen, da Sie keinen konstanten Intensitätswert erhalten, zum Beispiel:

Geben Sie hier die Bildbeschreibung einDie erwartete Mischung befindet sich im kleinen Gradienten oben, Intensitätsvariation von null.

  • Mischen tendiert zu helleren Werten, zum Beispiel tendiert nichtlineares sRGB zu dunkleren Werten, dies ist ein Vorteil bei nichtlinearen, wir nehmen Änderungen der geringen Intensität besser wahr und es spielt sich gut in Bezug auf die Kontrastkonstruktion, die linke ist eine lineare Farbmischung und die rechte ist es nicht linear, beides, oben Fleck ohne Druckänderung von links nach rechts und umgekehrt unten auch ohne Druckänderung:

Geben Sie hier die Bildbeschreibung ein

Das Arbeiten an größeren Farbräumen als lineares mit hoher Präzision macht das Mischen besser, bringt aber immer noch nicht viel mehr Nutzen. Natürlich ist lineares Mischen nicht so schlecht wie nichtlineares Mischen, aber es wäre großartig, etwas Besseres zu bekommen.

automatisch linearisieren oder einen automatischen Trick ausführen, wenn dies einen echten Vorteil in Bezug auf die Mischqualität oder Leistung bietet .

Abgesehen davon interessiert mich nicht einmal der Speicherbedarf. Es ist nur so, dass es hinter den Kulissen genau das Gleiche tut, indem es in einem hochpräzisen internen linearen RGB-Stack rechnet und, was vielleicht am schlimmsten ist, runde Präzisionsfehler hinzufügt und Was mich noch mehr verwirrt über ein mögliches Problem im Malprozess, ist ein weiterer Punkt, ich bin besser bedient, wenn ich es verstehe.

Am nächsten kam ich etwas wirklich Interessantem in Bezug auf die Farbmischung mit der CIE XYZ- Arbeitsfarbraummischung, da ich Ergebnisse wie die folgenden habe:

Geben Sie hier die Bildbeschreibung ein

Bis Sie von der CIE XYZ -Verrücktheit getroffen werden :

Geben Sie hier die Bildbeschreibung ein

Ich bin also immer noch offen für neue Prozesse, wie immer kann ich künstlerisch etwas davon gewinnen, ich prüfe immer noch, in CIE XYZ mit begrenzten Farbwählern zu arbeiten. Oder irgendein Vorschlag hier gegeben.

Und wenn es eine falsche Wahrnehmung von mir gibt, die irgendwohin geht, würde ich es sehr schätzen.

Antworten (1)

Ich verstehe deine Frage nicht ganz.

Aber am Ende wird die Tontrennung nicht durch "Mischen" hergestellt. Ist das Ergebnis von "displaying".

Wenn Sie in einer Zone einen Wert von r255g128b0 und in einer angrenzenden Zone von r255g129b0 haben und es zeigt eine Posterisierung, können Sie nichts dagegen tun. Sie haben einfach die nächstmöglichen Werte und keine Möglichkeit, eine Mittelgrundfarbe festzulegen. Es spielt keine Rolle, wie sie gemischt werden.

Die einzige Möglichkeit, diese Einschränkung zu überwinden, besteht meines Wissens darin, den Übergang zu "dithern". Dies bedeutet, ein zufälliges Muster von Pixeln in die nächste Zone zu bringen.

Tontrennung ist auch ein Wahrnehmungseffekt, nicht nur ein technischer. Wenn Sie keine Ablenker haben, könnten Sie wie in einem blauen Himmel mehr bemerken als in einem Bild eines Waldes. Es kommt also auf den Bereich und das Werteverhältnis an.

Dies kann von der Qualität der Darstellung, dem Kontrast, der Helligkeit, dem Umgebungslicht oder auch der Stimmung des Betrachters abhängen.


Aber ja, das RGB-Modell ist in seinen Komponenten nicht linear, es ist logarithmisch, und die Werte ändern sich je nach Kanal.

Hier sind einige RGB-Farben, aber als HSB-Kreise angeordnet.

Geben Sie hier die Bildbeschreibung ein

Theoretisch haben sie die gleiche "Helligkeit", aber die Gesamthelligkeit auf einem blauen Kanal ist nicht dasselbe wie 100 % Helligkeit auf dem grünen Kanal.

Bei der Umwandlung in Graustufen sehen wir deutliche Unterschiede. Der R+G erzeugt Gelb, das offensichtlich heller ist als Blau.

Geben Sie hier die Bildbeschreibung ein

Es gibt einen Farbkörper, der versucht, diese wahrgenommene Helligkeit anzusprechen. Das Munsell-Farbsystem https://en.wikipedia.org/wiki/Munsell_color_system

wobei theoretisch jede Ebene ähnliche Werte darstellt. Aber wahrscheinlich muss die Konvertierung mit einer bestimmten Wertematrix erfolgen.


Ich bin kein Programmierer, aber meiner Meinung nach würde ich nach einer Kurve suchen, die an jeden R + G + B-Kanal separat angepasst werden kann. Es könnten unterschiedliche Gammawerte angewendet werden https://en.wikipedia.org/wiki/Gamma_correction B. für jeden Kanal oder suchen Sie nach einer anderen logarithmischen Kurve.

Sicher, aber es hat seinen Teil im Prozess, es kann ein Präzisionsproblem sein, Sie werden nicht auf CIE XYZ mit 8 Bit oder einem großen Farbraum wie Aces rechnen wollen, Sie werden am Ende eine riesige visuelle Posterisierung bekommen, wenn Sie den Arbeitsraum bringen zurück zu nichtlinearem sRGB (Monitor). Die Absicht der Frage besteht darin, eine geringere Belastung in Bezug auf Leistung oder bessere Qualität zu finden, da lineares sRGB auch keine sehr korrekte Farbmischung erzeugt und einige zusätzliche Informationen zu der Frage hinzufügt
Ich mag nahezu wahrnehmbare Farbaufhellungen in einigen Fällen für die Farbauswahl, wie z. B. durch rec 709Koeffizienten gewichtetes Luma, aber ich glaube, es wäre keine gute Idee, einen solchen Raum zu mischen, da wir zu große Kontrastvariationen haben, insbesondere an den Enden der Helligkeit Bereich.
Der 8-Bit-RGB-Raum erhält nicht auf magische Weise mehr Auflösung, ob Sie in 8-Bit dithern oder 16-Bit verwenden, dann macht das Dither bei der Konvertierung in 8-Bit keinen Unterschied. Der Unterschied besteht wirklich darin, dass nichts anderes gedithert wird. Ob du es im Voraus machst oder nicht spielt keine Rolle, @RomuloPBenedetti. Sie schwanken oder haben Machlinien. Es gibt auch keine richtige Art zu mischen.
Es ist kein gebauter Verlauf mit Verlaufswerkzeugen, es geht um künstlerische Pinsel, die verschmieren, stumpf werden und sich wiederholende mathematische Operationen darüber ausführen, und höchstwahrscheinlich ist das wiederholte Verschmieren das Problem (unvermeidlich, bei traditioneller Farbe geht es um das Mischen), wie in diesem Fall Sie kann den Farbverlauf zu stark strecken, um eine gute Wahrnehmungsumwandlung in nichtlineare sRGB-Fähigkeiten zu erhalten ... Es wird dort kein absichtliches Dithering ausgeführt, es ist nur ein Wischwerkzeug, das 2 Volltonfarben verschmiert.
@RomuloPBenedetti Das kann man nicht wirklich verallgemeinern. Es hängt wirklich davon ab, welche Anwendung Sie verwenden und wie Sie sie verwenden. Die genauen Algorithmen, die es verwendet. Es gibt keinen Grund, warum das Verschmieren in verschiedenen Arbeitsbereichen etwas anderes bewirken sollte. Es hängt buchstäblich davon ab, wie Ihre Anwendung implementiert ist. Auch Verschmieren ist nicht wirklich der vernünftige Weg, Dinge zu mischen.
@joojaa Ich verwende Krita, ich bin mir sicher, dass es keine Pinsel- / Mischmodusoperationen linearisiert, es folgt strikt dem Farbraum und der Bitpräzision, es wird nur im nichtlinearen Farbraum angezeigt, wie ich es ausgewählt habe, und das ist es nicht Auf der Leinwand verwendet, können sogar Farbwähler im Farbraum und der Genauigkeit der Leinwand arbeiten.
@joojaa Ich bin völlig offen für neue Prozesse, wenn sie helfen, die Einschränkungen zu überwinden, wie ich sage, aber die Motivation nähert sich auf jeden Fall der traditionellen Kunst der alten Schule in einem digitalen Kontext, da die Texturen eines Ölgemäldes einen Wert haben Mischen auf traditionelle Weise (und auch nicht, wenn dies beabsichtigt ist), aus vielen Gründen, auch wenn es darum geht, aus einer verwurzelten Wahrnehmung des Kunstprozesses herauszukommen. Es ist nur so, dass das Digitale einige Eigenschaften hat, die nicht gut abbilden, und ich suche nach Möglichkeiten, sie zu überwinden, ohne den Reichtum des künstlerischen Prozesses zu beeinträchtigen.