Blendung aus dem Bild entfernen

16

Haftungsausschluss: Ich bin in keiner Weise mit der Signalverarbeitung befasst. Einfach sehr neugierig ...

Meine Frage ist ganz einfach: Ist es möglich, Software-Verarbeitung auf ein Bild anzuwenden, um Scheinwerferblendung zu entfernen oder zu reduzieren?

Es wäre ein Bild wie dieses:
http://www.driversedguru.com/wp-content/gallery/jamie-gallery/Lots%20of%20Glare.jpg

Wenn dies möglich ist, gibt es dafür eine Softwarebibliothek? Es ist mir egal, welche Sprache, ich möchte nur die Fähigkeiten. Slash weiß jemand, ob es zu diesem Thema aktuelle Forschungsergebnisse gibt?

BenCole
quelle
3
Ist das "Blendung" oder "Lens Flare"?
Endolith
Guter Punkt. Ich sollte klarstellen: Ich bin daran interessiert, das Lichtniveau über das Bild zu normalisieren (obwohl speziell die Autos). Reduzieren Sie also die Scheinwerferhelligkeit / -ausblendung und erhöhen Sie die Sichtbarkeit der Autos. Also ... Blendung oder Blendenfleck, wie auch immer (denke ich).
BenCole
Nun, es gibt Möglichkeiten, solche Dinge tatsächlich zu entfernen, mit Entfaltung, glaube ich, anstatt nur ihre Helligkeit zu verringern, aber ich bin mir nicht sicher
Endolith
Ich stelle mir so etwas vor: ftp.cfar.umd.edu/pub/aagrawal/Glare/AgrawalGlareLowRes.pdf mit der Ausnahme, dass es (1) die Blendung mit ähnlichen in diesem Artikel beschriebenen Methoden reduziert; dann (2) entfernt die tatsächliche Lichtquelle aus dem Bild; und (3) [um diesen Schritt verschwommen] reduziert erneut die Blendung und verstärkt den Bereich um die Lichtquelle.
BenCole
Nun, für dieses Beispiel muss die Optik der Kamera modifiziert werden, bevor Bilder aufgenommen werden können
Endolith,

Antworten:

6

Das Problem, das Sie möglicherweise haben, ist, dass die Kamera bei hellem Licht eine kurze Verschlusszeit verwendet, um zu verhindern, dass das Bild zu stark gesättigt wird. Alle Details, an denen Sie interessiert sind, befinden sich in den unteren Datenbereichen.

Selbst wenn Sie die Blendung entfernen und dann versuchen, den Rest des Bildes in eine höhere Ebene zu bringen, ist es sehr verrauscht. Wenn Sie beispielsweise Ihr Bild aufnehmen und mit den Ebenen spielen, um die dunkleren Bereiche nach oben zu ziehen und nur das Blenden zuzulassen, ist dies das Ergebnis:

"Heller" Version

Wenn dies für die Weiterverarbeitung in Ordnung ist (ich weiß nicht, was Sie vorhaben), können Sie möglicherweise die Blendung entfernen, indem Sie sich die Verteilung der gesättigten Pixel ansehen und sie in das "Leuchten" um sie herum erweitern.

Eine bessere Lösung (wenn Sie die Option haben) kann darin bestehen, eine Kamera mit hohem Dynamikbereich zu verwenden, die eine nichtlineare Reaktion in Pixeln und häufig auch 10 oder 12 Bits pro Pixel mit verwendbarer Auflösung aufweist, was bedeutet, dass Sie 7 beibehalten können -8 Bit für die dunkleren Bereiche.

Martin Thompson
quelle
Meinetwegen. Du hast mir eine gute Richtung gegeben, in die ich gehen kann, also danke!
BenCole
Sie benötigen keine Kamera mit hohem Dynamikumfang. Sie müssen nur mehrere Bilder mit unterschiedlichen Belichtungsstufen aufnehmen. Canon-Kameras können so konfiguriert werden, dass dies mit der CHDK-Firmware automatisch erfolgt. chdk.wikia.com/wiki/Samples:_HDR
endolith
2
@endolith - Ja, Sie nicht brauchen eine HDR - Kamera ... wenn die Szene langsam genug ändert man es in der Software tun. Aber für das obige Bild würde ich es bezweifeln - ich mache Bildverarbeitungssysteme für Autos und 30 Hz sind kaum genug. Ich würde es hassen, auf mehrere Frames warten zu müssen, um Daten zu erhalten!
Martin Thompson
1
Könnten Sie fortlaufende CHDK-Image-Updates durchführen? Anstatt auf mehrere diskrete Frames zu warten, sollten Sie Bereiche wie {frame1,2,3,4}, {frame2,3,4,5}, {frame3,4,5,6}, etc:? Oder wäre das zu langsam?
BenCole
@BenCole: Ja, das funktioniert manchmal, aber in einigen Anwendungen wäre sogar ein zusätzlicher Latenzrahmen zu viel. Tatsächlich würde der Szenenwechsel von einem Bild zum nächsten bedeuten, dass "HDR durch Stapeln mehrerer Belichtungen" nicht allzu gut funktioniert
Martin Thompson,