Den Kontrast eines Bildes messen

7

Für ein Projekt möchte ich den Kontrast eines globalen Bildes messen.

Ich möchte verschiedene Bilder vergleichen, um das Bild mit dem besten Kontrast zu erhalten. Ich kenne den Weber-Kontrast, benötige aber einen normalisierten Kontrastwert (im Bereich zwischen 0-1 oder anderen).

Gibt es eine einfache Methode, um dies in openCV zu tun?

501 - nicht implementiert
quelle
2
Können Sie klarstellen, was Sie unter einem "globalen" Bild verstehen?
Jonsca
1
Das ganze Bild
501 - nicht implementiert
1
mhnm ich dachte laplace ist die schärfe zu berechnen.
501 - nicht implementiert
1
Ich habe gesehen, wie Laplace im Kontext des "lokalen Kontrasts" verwendet wurde. Es gibt viele Definitionen. Dies hängt stark von Ihrer Anwendung ab. Sie können beispielsweise nur den Farbkontrast jedes Pixels (Abstand von Grau) messen oder Unterschiede in benachbarten Pixeln messen oder eine Messung anhand des Histogramms durchführen oder den Kontrast als Unterschied zwischen dem dunkelsten und dem hellsten Punkt im Bild verwenden.
Libor
2
Die Standardabweichung der Pixelwerte ist eine gute Metrik.
Andrey Rubshtein

Antworten:

6

Ein einfacher Weg zur Quantifizierung des Vertrags, den ich mir vorstellen kann, ist die Verwendung eines Bildhistogramms. Das Folgende ist mein Vorschlag

  1. Berechnen Sie das Histogramm des Bildes
  2. Berechnen Sie aus den Zählungen die Entropie

Wenn Sie es nur ausprobieren möchten, können Sie die in matlab integrierte Funktion http://www.mathworks.ch/ch/help/images/ref/entropy.html verwenden

Sie können den Entropiewert des Histogramms als Vertragsmaß verwenden.

mkuse
quelle
2

Eine einfache Methode zur Berechnung des Kontrasts besteht darin, die Standardabweichung der Pixelintensitäten des grauen Bildes zu berechnen.

Franco Piccolo
quelle