Kann die Bildtransparenz automatisch aus mehreren nicht transparenten Proben berechnet werden?

Ich frage mich, ob es eine Möglichkeit gibt, transparente Bilder automatisch aus einer Reihe von nicht transparenten Bildern zu berechnen. Keine manuelle Arbeit mit einzelnen Pixeln oder manuelles Setzen von Opazitäten.

Oft muss ich Bilder aus "Bildbearbeitungsprogrammen" exportieren, die keine transparenten Hintergründe unterstützen (Beispiel: PowerPoint). Ich kann dem Bild noch einen beliebigen Hintergrund geben. Zum Beispiel kann ich zwei Samples mit zueinander umgekehrten Hintergründen exportieren (wie auf 2 Samples unten zu sehen). Oder ich kann 3-5 Bilder mit Hintergründen erstellen, zum Beispiel: rot, grün, blau, weiß, schwarz.

Beispiel:
2 Proben mit zueinander inversen Hintergründen, die zum erwarteten Ergebnis führen (ich suche eine Technik / ein Plugin, um ein solches Ergebnis zu erhalten):
Geben Sie hier die Bildbeschreibung ein

Mit einem solchen Satz sollte anhand von Unterschieden zwischen Samples völlig klar sein, welches Pixel welchen Alpha-Wert hat.

Gibt es eine Methode/ein Plugin zum Konvertieren der oben beschriebenen Mustersätze in ein einzelnes Bild mit korrekt abgeleiteter Transparenz?

Ich bevorzuge GIMP.

EDIT:
Noch ein Beispiel zur Veranschaulichung der Idee. Halbtransparente Leuchtmittel werden verwendet:

Geben Sie hier die Bildbeschreibung ein
Geben Sie hier die Bildbeschreibung ein

Sie könnten so etwas mit ImageMagick machen, aber die Halbtransparenz des Schlagschattens wäre ein Problem.
@JohnB - Ich denke, wir können uns mathematisch einigen, dass es auch für halbtransparente Pixel kein Problem sein sollte, wenn Quellbilder speziell ausgewählte Hintergrundfarben haben. Ich frage mich, ob es eine Technik / ein Plugin gibt, um die Mathematik zu machen :)
Okay, denke ich habe es jetzt verstanden. Wäre dies eine korrekte Umformulierung der Frage? --- Gibt es ein Plugin oder eine Methode, um die identischen Teile einer Reihe von Bildern zu isolieren und den Rest transparent zu machen?
Ich weiß nicht, nach welcher Art von Lösung Sie suchen, aber GIMP kann dies mit "Farbe zu Alpha" tun, und Photoshop kann dies mit "Auswählen -> Farbbereich ..." tun, ich weiß nicht wie Sie würden es mit GIMP automatisieren, aber es könnte leicht in eine Photoshop-Aktion umgewandelt werden.
@miroxlav ja zugestimmt. Ich bin mir nur nicht sicher, ob diese Art von Berechnung mit IM durchgeführt werden könnte. Vielleicht kennt sich ja jemand aus, der sich besser auskennt als ich!
@OGHaza – wie kann dies mit Color to Alpha erfolgen, wenn die Anzahl der Kantenfarben oder halbtransparenten Farben nicht eingeschränkt ist? Ich kann mir vorstellen , für jede Farbe nur Color to Alpha zu wiederholen. Aber wenn Sie eine Idee haben, posten Sie bitte eine Antwort.
Der Schatten wird ein Problem sein, da er farbkontaminiert sein wird. Es wäre am besten, wenn Sie ein drittes Bild hätten, das schwarz wäre
@joojaa – meinst du Bilder mit schwarzem Hintergrund zusätzlich zu Mustern mit blauem und orangefarbenem Hintergrund? Dies ist kein Problem. Ich verstehe, wie man die richtige Schattenfarbe (oder andere halbtransparente Farben auf dem Bild) wie folgt erhält: Wir wissen, wie das Bild aussieht, wenn es von einem orangefarbenen Hintergrund beeinflusst wird. Dann wissen wir, wie es durch blauen Hintergrund beeinflusst aussieht. Basierend darauf, wie Halbtransparente mit diesen Hintergründen interagieren, sollten wir in der Lage sein, die Originalfarbe zu berechnen. (Vielleicht sind 3 Proben RGB besser als Orange + Blau aus der Probe).
@miroxlav Siehe meine Antwort, das ist so gut wie es mit der Photoshop-Verarbeitung geht.
@miroxlav, jetzt wo ich Photoshop vor mir habe, kann ich bestätigen, dass ich absoluten Unsinn geredet habe ....

Antworten (2)

Dies kann „perfekt“ erfolgen. Sie müssen die beiden Bilder ausrichten, wie Horatio sagt. Allerdings werde ich dies mathematisch angreifen.

Sie müssen also 4 Kanäle reparieren. Der Alphakanal ist am einfachsten. Legen Sie die Ebenen übereinander und ziehen Sie die orangefarbene Ebene für die blaue ab (das ergibt einen besseren Kontrast). Öffnen Sie dann Ihr Kanalfeld, duplizieren Sie die Ebene mit dem größten Farbunterschied.

Geben Sie hier die Bildbeschreibung ein

Bild 1: Duplizieren Sie den Kanal mit dem größten Farbunterschied.

Führen Sie mit der Punktauswahl Ebenen auf der kopierten Ebene aus, sodass die hellste Farbe Weiß ist. Passen Sie Gamma oder Schwarzpunkt nicht an. Dies ist jetzt Ihr perfekter (wenn auch leicht farblich herausgeforderter) Alphakanal. Den kopierten Kanal invertieren .

Wenn Sie das Alpha jetzt auf das Bild anwenden würden, bliebe der vormultiplizierte Farbstich. Dies wäre in After Effects einfach, aber in Photoshop müssen Sie die schwere Arbeit selbst erledigen. Saum mag für einige einfache Fälle funktionieren, aber es gibt einen besseren Weg, der garantiert so gut wie möglich ist.

Um die Matte zu entfernen, erstellen Sie eine neue Ebene. Füllen Sie die gesamte Ebene mit der Hintergrundfarbe. Laden Sie dann das Alpha und füllen Sie es mit Schwarz, dies ist Ihr Farbmatte-Bildschirm. Stellen Sie sicher, dass dies NICHT mit Farbvariationen aus dem Bild geschnitten wird oder Sie den Prozess beeinträchtigen (es sei denn, Sie planen, den Hintergrund anstelle der Matte zu entfernen, aber das ist eine andere mathematische Sequenz) .

Farbmatter Bildschirm

Bild 2: Farbmatter Bildschirm.

Subtrahieren Sie den Farbmattenbildschirm von Ihrer Farbebene. Dadurch erhalten Sie den Farbkanal.

Farbkanal

Bild 3: Farbkanal.

Jetzt müssen Sie noch den Alpha- und den Farbkanal zusammenführen. Führen Sie also die Farbkanalebenen zusammen. Laden Sie dann den kopierten Kanal als Ebenenmaske.

Jetzt haben wir also nur noch ein Problem: Photoshop verwendet Straight Matte. Ja, das ist richtig, Pixel haben unabhängig von Alpha die vollständig gesättigte Farbe. Wenden Sie also die Maske auf die Ebene an. Führen Sie dann Ebene -> Mattieren -> Schwarze Matte entfernen aus

Endergebnis

Bild 4: Endergebnis.

Und das ist fast so gut wie es nur geht. Ich habe ausgerechnet, dass ich einen Alpha-Level mehr bekommen hätte, wenn ich ein Plugin gemacht hätte. Hauptsächlich, weil ich die Fransen in den Operationsstapel rollen konnte.

Zum Automatisieren:

Sie können daraus eine Aktion machen und es ist immer eine Farbauswahl von der automatischen entfernt. Dies könnte ein Skript sein, aber ich habe andere Dinge zu tun. Wie auch immer, ich habe die ganze Mathematik beschrieben, die in diese geht.

PS: Ich habe nach dem schwarzen Hintergrund gefragt, da es einen Schritt kürzer geworden wäre.

Das sieht gut aus! Danke für den mathematischeren Ansatz. Funktioniert dies mit farbigen halbtransparenten Bereichen, die ich kürzlich der Frage hinzugefügt habe? (Wir haben parallel gearbeitet :)
@miroxlav Ja . Der einzige Haken ist, dass die von Ihnen verwendeten BG-Farben in Bezug auf den Kontrast nicht zu 100% ideal sind, aber abgesehen von diesem leichten Verlust einer möglichen Alpha-Auflösung keine Probleme. Die Verwendung von Weiß oder Schwarz matt wäre eine gute Idee.
– bg-Farben waren nur dazu gedacht, Transparenz zu erkennen. Eines der Ausgabeergebnisse könnte immer noch permanente bg-Transparenz sein, wie sie beispielsweise beim Design von Desktop-Icons verwendet wird.
Lass mich das mal selbst ausprobieren...
Könntest du nicht einfach das Alpha machen, indem du in der Quell-App alles schwarz/weiß änderst? Vielleicht funktioniert das bei deinem Glow nicht? Jedenfalls bin ich mir ziemlich sicher, dass man PowerPoints Alphakanal lesen könnte.
– Ich habe die Frage um s/w-Beispiele erweitert. Meintest du das? (Übrigens haben wir wieder parallel gearbeitet:) In Bezug auf den PowerPoint-Alphakanal – ich habe versucht, weiter damit zu spielen, und schließlich habe ich festgestellt, dass Sie Recht haben – ich habe entdeckt, dass PowerPoint->GIMP die Transparenz beibehält . Die Quelle meiner Verwirrung war, dass alle anderen Ziel-Editoren, die ich ausprobierte, keine Transparenz, sondern einen durchgehend weißen Hintergrund zeigten. Der mathematische Ansatz, den Sie in der Antwort angegeben haben, ist immer noch äußerst nützlich, wenn die Zwischenablage außerhalb der App nicht funktioniert (z. B. das Werkzeug zum Zeichnen von elektrischen Schaltkreisen), da sie nur Nicht-Bilddaten enthält.
@miroxlav Überprüfen Sie, ob ein Alphakanal vorhanden ist, der nicht verwendet wird. Möglicherweise müssen Sie es separat laden, dann ist es nur der letzte Schritt. Wie auch immer, das ist etwas faul mit Photoshops PNG-Unterstützung, es unterstützt einige PNG-Dateien, andere nicht.

Nehmen Sie "Bild LINKS", platzieren Sie es auf der Ebene über "Bild MITTE", sodass sie perfekt ausgerichtet sind. Verwenden Sie den Ebenenüberblendungsmodus "Subtrahieren". Alles, was gleich ist, wird schwarz sein.

Reduzieren Sie das Bild, kopieren Sie alles, machen Sie die Reduzierung rückgängig und fügen Sie es dann in eine neue Ebene ein. Wählen Sie über Farbe auf Schwarz mit der breitesten "Unschärfe"-Einstellung. Blenden Sie die Ebene aus und wenden Sie die schwarze Auswahl als Ebenenmaske auf das linke oder mittlere Bild an.