Chromakey & Color Matching
Ein digitales Bild-Compositing-Verfahren. Erstellt automatisch hochwertige Composites. Vorteile: beliebige Vordergrundfarben, Unterdrückung von Color Spill und Farbanpassung des Motivs an den Hintergrund.
Typ
Java App
Jahr
2018
Angewandte Fähigkeiten
- Java
- UX / UI
Team
- Eigenes Projekt
<h2>Die Aufgabe</h2>
<p>Ziel dieses Projekts war es, computergestützte Signalverarbeitungstechniken für digitale Medien zu üben. Wir recherchierten experimentelle Bildverarbeitungstechniken und entschieden uns, zwei Verfahren zu kombinieren, die sich unserer Meinung nach gut ergänzen. Das erste ist ein fortgeschrittener Chroma Key, der Color Spill neutralisiert und alle möglichen Vordergrundfarben unterstützt. Das zweite überträgt Farbcharakteristika von einem Bild auf ein anderes. Die Idee war, durch die Kombination dieser beiden Techniken einen sehr effektiven Prozess zu schaffen, der hochwertige Bild-Composites erzeugt, bei denen das Motiv sich nicht merklich vom Hintergrund unterscheidet.</p>
Das Ergebnis
Unsere Oberfläche ermöglicht es Nutzern, ein Vordergrundbild mit grünem und magentafarbenem Hintergrund auszuwählen und eine Matte zu erzeugen. Gleichzeitig kann der Nutzer das Hintergrundbild wählen, auf dem das Vordergrundbild erscheinen soll. Die Farbübertragung des Hintergrundbilds wirkt auf das Vordergrundbild und wendet dessen Charakteristika mit einem festen Wert an. Anschließend kann der Nutzer die Intensität der Farbübertragung, der Helligkeitsübertragung und die Unschärfe der Vordergrund-Mattenkanten steuern, um ein glaubwürdigeres Composite zu erzeugen. Außerdem können alle Zwischenbilder des Prozesses bis zum finalen Ergebnis eingesehen werden. Schließlich kann das erstellte Bild über eine Speichern-Schaltfläche am unteren Rand des Hauptbildschirms gespeichert werden.
Der erste Schritt basiert auf dem Paper Color invariant chroma keying and color spill neutralization for dynamic scenes and cameras (Grundhöfer, Kurz, Thiele, & Bimber, 2010). Dieses Verfahren nutzt geschickt zwei komplementäre Hintergrundfarben wie Grün und Magenta, um A) beliebige Farben im Vordergrund zu ermöglichen und B) Color Spill automatisch zu unterdrücken. A) wird erreicht, indem das Maximum der beiden Mattes aus einem einfachen Chromakey mit jeder Hintergrundfarbe gebildet wird. B) wird erreicht, indem die beiden Bilder mit komplementären Hintergrundfarben gemischt werden, sodass das auf das Motiv fallende Licht in Grautöne neutralisiert wird, statt grün oder magenta zu erscheinen.
Der zweite Schritt ist nicht speziell für Composites gedacht, erwies sich aber als sehr nützlich. Das in Color transfer between images (Reinhard, Adhikhmin, Gooch, & Shirley, 2001) beschriebene Verfahren analysiert die Farbcharakteristika eines Quellbilds, indem Mittelwert und Standardabweichung jedes Farbkanals berechnet werden. Diese Charakteristika werden dann auf die Farbverteilung des Zielbilds angewendet. Damit das funktioniert, müssen die Bilder in den lαβ-Farbraum konvertiert werden, der das menschliche visuelle System stark berücksichtigt und die Korrelation zwischen Kanälen für die meisten natürlichen Szenen minimiert.
<div class="auto-resizable-iframe">
<div>
<iframe width="560" height="315" src="https://www.youtube.com/embed/6KXxwxTnbgM" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; picture-in-picture" allowfullscreen></iframe>
</div>
<figcaption>App-Demo, Code-Walkthrough und Erklärung der Theorie hinter dem Verfahren.</figcaption>
</div>
Literatur
Grundhöfer, A., Kurz, D., Thiele, S., & Bimber, O. (2010). Color invariant chroma keying and color spill neutralization for dynamic scenes and cameras. The Visual Computer, 26(9), 1167-1176. doi:10.1007/s00371-010-0464-8
Reinhard, E., Adhikhmin, M., Gooch, B., & Shirley, P. (2001). Color transfer between images. IEEE Computer Graphics and Applications, 21(4), 34-41. doi:10.1109/38.946629