1

Ich möchte Bildverarbeitung mit OpenCV und C++ machen. Wenn ich ein Bild in einer dunklen Umgebung aufnehme, scheint es schwierig zu sein, Menschen zu erkennen. Das Ändern von Helligkeit und Kontrast kann die Situation verbessern. Aber mein Projekt ist mit Computer Vision verbunden. Also möchte ich, dass mein Programm Wetter erkennt, dass Helligkeit und Kontrast hinzugefügt oder reduziert werden müssen. Aber wie erkennt man das? Ich habe keine Ahnung, bitte helfenIdentifizieren und ändern Sie Helligkeit und Kontrast, so dass es für die Bildverarbeitung geeignet ist, mit opencv und C++

Antwort

0

Gute Lösung: Verwenden Sie die Beleuchtung, so dass Ihre Szene nicht dunkel ist.

Wenn dies nicht möglich ist, können Sie die Belichtungszeit und/oder Verstärkung erhöhen. Beide Methoden verschlechtern Ihr SNR. Besonders bei bewegten Personen wird Bewegungsunschärfe zu einem Problem, wenn die Belichtungszeit zu hoch ist.

Erhöhen Sie nicht nur die Bildhelligkeit oder den Kontrast per Software. Es macht keinen Unterschied für Ihren Computer, nur für Sie.

Lesen Sie etwas über automatische Belichtungsalgorithmen. Ein gut belichtetes Bild ist weder unter noch überbelichtet. Das Histogramm sollte so breit wie möglich sein.

0

Ich glaube, Sie können "Histogramm-Entzerrung" versuchen. Hier ist ein Beispielbild, das ich für das Experiment verwendet habe.

Example

Source code in C++ language

Bitte lassen Sie mich wissen, wenn Sie mehr Informationen zu diesem Thema benötigen.

0

Ich denke, Sie sollten eine Infrarotkamera in Betracht ziehen. Sehen Sie sich diesen Artikel hier an, zum Beispiel: "Auswahl eines sichtbaren Lichts im Vergleich zu einem thermischen Infrarotsensor in Dynamische Umgebungen auf der Basis von Vertrauensmaßen", Autoren: Cuerda und Mitarbeiter.

Verwandte Themen