Ich arbeite an einer digitalen Fotokamera. Ich muss die Farbtemperatur des Leuchtmittels programmgesteuert mithilfe eines Algorithmus berechnen (nicht mit einem Drittanbieter-Tool von Adobe usw.).
In meinem Fall werden Bilder mit meiner experimentellen / in der Entwicklung befindlichen Kamera aufgenommen, und das Leuchtmittel ist kein Standardleuchtmittel mit einer bekannten Farbtemperatur. Ich brauche dies für Farbkorrektur / Weißabgleich. Ich möchte die Farbtemperatur (Grad Kelvin) eines Lichtquellen-Leuchtmittels basierend auf einigen Statistiken der RGB-Daten oder der Raw Bayer-Daten des aufgenommenen Bildes von beispielsweise einer Standardfarbkarte (24 Farbfelder) unter diesem Leuchtmittel schätzen.
Wie kann ich die Farbtemperatur anhand dieser Farbkartendaten schätzen?
Alle Hinweise oder Lesematerial oder Algorithmen, die darüber sprechen, würden helfen.
quelle
Antworten:
Verwenden Sie zur Vereinfachung eine neutrale Graukarte anstelle eines Farbprüfers. Oder verwenden Sie nur einen neutralen Fleck des Farbprüfers. Sie haben in der Bild , um das Gebiet , das entspricht die jeweilige Patch / Graukarte, dann durchschnittlich getrennt die R, G und B zu identifizieren rohe Pixel auf diesem Gebiet. Stellen Sie sicher, dass keines dieser Pixel gesättigt ist. Andernfalls beginnen Sie erneut mit einer geringeren Belichtung.
Am Ende erhalten Sie ein (R, G, B) Triplett, das die Farbe Ihres Leuchtmittels im nativen Farbraum Ihrer Kamera darstellt. Konvertieren Sie dann mit einer Formel wie in den CIE-Standardfarbraum
Dabei ist die Matrix die Farbmatrix Ihres Bayer-Sensors, die Sie hoffentlich bereits kennen. Von hier aus können Sie die korrelierte Farbtemperatur mit Standardformeln berechnen .
quelle
Was Sie tun möchten, kann ein sehr komplexer Problembereich sein. Farbtheorie, Farbkorrektur / Weißabgleich usw. ist ein sehr komplexes Feld. Um sicherzugehen, dass ich es verstehe, versuchen Sie, einen Algorithmus zu erstellen, mit dem der Weißabgleich einer Szene basierend auf der Beleuchtungslichtquelle in der Szene richtig eingestellt werden kann. Möglicherweise können Sie das tun, was Sie tun müssen, und viele der Algorithmen, die Sie verwenden müssten, sollten heutzutage verfügbar sein.
Einige Punkte, die Sie berücksichtigen und in Ihre Verarbeitung einbeziehen sollten:
Wenn wir keine Beleuchtung in der Szene und keine radikalen Farben aus dem Problembereich ausschließen, ist es wahrscheinlich möglich, die Farbtemperatur von Lichtquellen in der Szene zu identifizieren und zu messen. Heutzutage sind einige ziemlich fortschrittliche Formerkennungsalgorithmen verfügbar, die es ermöglichen würden, alle Lichtquellen in einer Szene zu identifizieren, vorausgesetzt, Sie haben eine anständige Basis oder bekannte Lichtquellenformen. Sobald Sie jede Lichtquelle identifiziert haben, können Sie wahrscheinlich eine Art Tristimulusberechnung verwenden, um die Farbtemperatur der Lichtquelle zu bestimmen, indem Sie die grünen, roten und blauen Subpixelwerte oder RAW-Bayer-Pixelwerte mit den richtigen Gewichten verwenden, um Ihre drei Luminanzen zu erzeugen Spitzen.
Ihr Algorithmus wird besonders komplex, wenn Sie nicht standardmäßige oder radikale Szenenbeleuchtung verwenden. Extrem gesättigte Lichtquellen sind keine guten Weißabgleichziele, da sie weit vom "Weiß" -Bereich eines Farbumfangs entfernt sind. Es ist sehr wichtig zu wissen , welcher Teil der Szene am meisten „neutral“ ist , so dass Sie eine richtige „grau oder weiß“ wählen können Ihre Weißabgleich auf der Basis auf, so dass im Grunde wie ist weiß Balance funktioniert. Es ist möglicherweise möglich, Ihre Szene anhand einer anderen Grundfarbe wie Rot farblich auszugleichen. Ich weiß jedoch nicht genau, wie Sie vorhandene mathematische Formeln ändern müssten, um einem solchen Ansatz gerecht zu werden (es gibt eine ganze Menge komplexer Mathematik in der Farbtheorie beteiligt.)
Die schwierigste Situation ist, wenn keine Lichtquellen in der Szene vorhanden sind. Wenn die Szene von einer Lichtquelle außerhalb der Szene beleuchtet wird, ist es so gut wie unmöglich, ihre Farbtemperatur zu berechnen. Wenn Sie das Kameradesign ziemlich radikal angehen möchten, können Sie einige grundlegende Lichtmesssensoren an allen Seiten des Kameragehäuses anbringen. Dies würde es ermöglichen, Licht aus allen Richtungen zu messen, wäre jedoch nicht ganz genau, und die Gewinne bei all der zusätzlichen Komplexität wären wahrscheinlich gering. Ein anderer Ansatz könnte darin bestehen, ein Blitzschuhgerät zu erstellen, das mit mehreren Spotmessgeräten verbunden werden kann und der Kamera für jede Lichtquelle, auf die Sie ein Messgerät richten, genaue Beleuchtungswerte liefert. Szenen mit mehreren Lichtquellen oder Quellen mit radikaler Farbe würden immer noch einen sehr komplexen Algorithmus ergeben.
Der Versuch, die Farbtemperatur der Lichtquellen Ihrer Szenen beispielsweise anhand eines einfachen Fotos einer Farbkorrekturkarte zu bestimmen, wäre äußerst schwierig, wenn nicht sogar unmöglich. Sie müssten zu viele Annahmen treffen oder im Voraus wissen, welche Art von Licht Ihre Szene beleuchtet. Dies ist im Allgemeinen der Grund, warum Weißabgleich- / Farbkorrekturen normalerweise durchgeführt werden, indem der Weißabgleich der Szenen basierend auf einer bekannten neutralen Farbe in einer Szene eingestellt wird. Wenn Sie eine Landschaft zweimal in derselben Beleuchtung fotografieren, einmal mit und einmal ohne Farbkorrekturkarte, können Sie während der Nachbearbeitung eine gültige neutrale oder rein weiße Farbe auswählen, um die richtige Farbbalance festzulegen. Ich selbst habe den X-Rite ColorChecker Passport, der zwei Reihen Farbkorrekturfelder enthält. Eine Reihe ist für Landschaften und die andere für Porträts, und sie entwickeln sich von leicht kühlen zu leicht warmen Farbflecken. Ich kann die Art der Farbbalance einstellen, die ich für meine Szenen haben möchte, die für die Landschaftsfotografie tendenziell wärmer und für Dinge wie Wildtiere oder Makros neutraler weiß getönt (5500k-6500k) ist.
Wenn Sie etwas wesentlich Spezialisierteres tun, können Sie möglicherweise einen kleineren Problembereich definieren, in dem Sie einen Algorithmus erstellen können, der genau das tut, was Sie benötigen. Der Problembereich müsste ziemlich eng sein, mit ziemlich genau definierten Parametern und Grenzen, um genügend bekannte Daten zu generieren, damit der Algorithmus beim Weißabgleich einer Szene die richtigen Entscheidungen treffen kann. Jede Szene ohne primäre Lichtquellen innerhalb des Rahmens wird sehr schwierig sein, einen automatischen Weißabgleich oder eine Farbkorrektur durchzuführen.
quelle
Verstehe ich Sie richtig, dass der Zweck darin besteht, dass Sie eine neue Digitalkamera bauen? Dh an der Entwicklung von Firmware arbeiten, und so etwas?
In diesem Fall scheint der Artikel über die Farbtemperatur in Wikipedia einige gute Informationen zu enthalten , insbesondere den Abschnitt Berechnung .
Das habe ich vorher noch nicht gemacht, daher sind meine Kenntnisse begrenzt. Ich sollte jedoch denken, dass ein wesentlicher Teil davon darin besteht, zu wissen, wovon das Bild ist. Das Aufnehmen einer weißen oder neutralen Graukarte mit gleichmäßiger Beleuchtung wäre daher eine naheliegende Wahl. Und Ihre Wahl einer Standardfarbtabelle ist auch gut, solange Ihre Software weiß, auf welchem Teil der Karte ein bestimmter Satz von Pixeln basiert, auf dem Sie Berechnungen durchführen möchten. Wenn Sie also vorhaben, eine Reihe von Aufnahmen dieser Karte in verschiedenen Beleuchtungssituationen zu machen, sollten Sie entweder eine Art Rig erstellen, mit dem die Karte für jede Aufnahme relativ zur Kamera an derselben Stelle gehalten werden kann, oder Bestimmen Sie die Position der Karte (möglicherweise mit Kantenerkennung und / oder ähnlichen Methoden).
Natürlich sollten Sie Ihre Ergebnisse auch mit bekannten Werten vergleichen. Möglicherweise sind ein kolorimetrischer Belichtungsmesser oder andere Geräte erforderlich, um dies wirklich richtig zu machen. Und es gibt verschiedene Arten ... diejenigen, die für Fotografen (oder Videofilmer oder Filmfotografen) bestimmt sind, scheinen mit einer einzigen Google-Suche aufzutauchen , während es auch solche gibt, die möglicherweise stärker auf das Labor ausgerichtet sind . Ich kenne zum Beispiel jemanden mit einem Messgerät, der am Ende einer Stange eine kleine Kugel (ca. 1 cm Durchmesser) hat, die dann an einen USB-Anschluss eines Computers angeschlossen wird und die Lichtintensität bei verschiedenen Frequenzen misst. Geben einer echten Spektrumanalyse einer Lichtquelle. Ich bin mir nicht sicher, wie das Gerät genau heißt, aber ich könnte wahrscheinlich herausfinden, ob das nützlich ist.
Natürlich müssen diese Geräte es auch irgendwie tun, also reicht es vielleicht, nur die Theorie und Mathematik zu lernen? :) Mit einer Google-Suche können verschiedene nützliche (und ich bin sicher einige weniger nützliche) Elemente gefunden werden . Ich kann mir vorstellen, dass Sie ernsthafte Nachforschungen vor sich haben, die über den Rahmen hinausgehen, auf den Sie hier harte Antworten erhalten können. Hoffentlich gibt Ihnen dies jedoch einige Ansatzpunkte.
quelle