Histogramm-Entzerrung - Histogram equalization
Histogrammausgleich ist ein Verfahren in der Bildverarbeitung von Kontrasteinstellung unter Verwendung des Bildes ‚s Histogramm .
Überblick
Dieses Verfahren erhöht normalerweise den globalen Kontrast vieler Bilder, insbesondere wenn das Bild durch einen engen Bereich von Intensitätswerten dargestellt wird. Durch diese Anpassung können die Intensitäten besser auf dem Histogramm verteilt werden, wobei der gesamte Intensitätsbereich gleichmäßig ausgenutzt wird. Dadurch können Bereiche mit geringerem lokalen Kontrast einen höheren Kontrast erhalten. Die Histogramm-Entzerrung erreicht dies durch effektives Verteilen der stark besetzten Intensitätswerte, die verwendet werden, um den Bildkontrast zu verschlechtern.
Die Methode ist bei Bildern mit Hintergrund und Vordergrund nützlich, die beide hell oder beide dunkel sind. Insbesondere kann das Verfahren zu besseren Ansichten der Knochenstruktur in Röntgenbildern und zu besseren Details in Fotografien führen , die entweder über- oder unterbelichtet sind. Ein Hauptvorteil des Verfahrens besteht darin, dass es sich um eine ziemlich unkomplizierte Technik handelt, die sich an das Eingabebild und einen invertierbaren Operator anpasst . Also in der Theorie, wenn die Histogrammausgleich Funktion bekannt ist, dann wird das ursprüngliche Histogramm kann wiederhergestellt werden. Die Berechnung ist nicht rechenintensiv. Ein Nachteil des Verfahrens besteht darin, dass es unterschiedslos ist. Es kann den Kontrast der Hintergrund erhöhen Lärm , während die nutzbare abnehm Signal .
Bei der wissenschaftlichen Bildgebung, bei der die räumliche Korrelation wichtiger ist als die Signalintensität (z. B. beim Trennen von DNA- Fragmenten quantisierter Länge), behindert das kleine Signal-Rausch-Verhältnis normalerweise die visuelle Erkennung.
Die Histogramm-Entzerrung erzeugt in Fotografien oft unrealistische Effekte; Es ist jedoch sehr nützlich für wissenschaftliche Bilder wie Wärme- , Satelliten- oder Röntgenbilder , oft dieselbe Klasse von Bildern, auf die man Falschfarben anwenden würde . Auch die Histogramm-Entzerrung kann unerwünschte Effekte (wie sichtbare Bildverläufe ) erzeugen, wenn sie auf Bilder mit geringer Farbtiefe angewendet wird . Wenn es beispielsweise auf ein 8-Bit-Bild angewendet wird, das mit einer 8-Bit-Graustufenpalette angezeigt wird, wird die Farbtiefe (Anzahl der eindeutigen Graustufen) des Bilds weiter reduziert . Die Histogramm-Entzerrung funktioniert am besten, wenn sie auf Bilder mit einer viel höheren Farbtiefe als der Palettengröße angewendet wird , wie beispielsweise kontinuierliche Daten oder 16-Bit-Graustufenbilder.
Es gibt zwei Möglichkeiten, über die Histogramm-Entzerrung nachzudenken und sie zu implementieren, entweder als Bildwechsel oder als Palettenwechsel . Die Operation kann als P(M(I)) ausgedrückt werden, wobei I das Originalbild ist, M die Histogramm-Entzerrungsabbildungsoperation ist und P eine Palette ist. Wenn wir eine neue Palette als P'=P(M) definieren und das Bild I unverändert lassen, wird die Histogrammentzerrung als Palettenwechsel oder Mapping-Änderung implementiert . Wenn andererseits die Palette P unverändert bleibt und das Bild auf I' = M(I) modifiziert wird, wird die Implementierung durch eine Bildänderung erreicht. In den meisten Fällen ist eine Palettenänderung besser, da die Originaldaten erhalten bleiben.
Modifikationen dieses Verfahrens verwenden mehrere Histogramme, Subhistogramme genannt, um den lokalen Kontrast zu betonen, anstatt den globalen Gesamtkontrast. Beispiele solcher Verfahren umfassen adaptive Histogramm-Entzerrung , kontrastbegrenzende adaptive Histogramm-Entzerrung oder CLAHE , Multipeak-Histogramm-Entzerrung (MPHE) und betaoptimierte Mehrzweck-Bihistogramm-Entzerrung (MBOBHE). Das Ziel dieser Verfahren, insbesondere von MBOBHE, ist es, den Kontrast zu verbessern, ohne Helligkeits-Mean-Shift- und Detailverlust-Artefakte zu erzeugen, indem der HE-Algorithmus modifiziert wird.
Eine der Histogrammentzerrung äquivalente Signaltransformation scheint auch in biologischen neuronalen Netzen zu erfolgen, um die Ausgangsfeuerungsrate des Neurons als Funktion der Eingangsstatistik zu maximieren. Dies wurde insbesondere in der bewährten Fliegennetzhaut .
Die Histogramm-Entzerrung ist ein spezieller Fall der allgemeineren Klasse von Histogramm-Neuabbildungsverfahren. Diese Methoden zielen darauf ab, das Bild anzupassen, um die Analyse zu erleichtern oder die visuelle Qualität zu verbessern (z. B. Retinex ).
Rückprojektion
Die Rückprojektion (oder "Projektion") eines Histogrammbildes ist die erneute Anwendung des modifizierten Histogramms auf das Originalbild, die als Nachschlagetabelle für Pixelhelligkeitswerte dient.
Für jede Gruppe von Pixeln, die aus allen eingegebenen Einzelkanalbildern aus derselben Position entnommen wurden, setzt die Funktion den Histogramm-Bin-Wert in das Zielbild, wobei die Koordinaten der Bin durch die Werte der Pixel in dieser Eingabegruppe bestimmt werden. Statistisch charakterisiert der Wert jedes Ausgabebildpixels die Wahrscheinlichkeit, dass die entsprechende Eingabepixelgruppe zu dem Objekt gehört, dessen Histogramm verwendet wird.
Implementierung
Betrachten Sie ein diskretes Graustufenbild { x } und seien Sie n i die Anzahl des Auftretens der Graustufe i . Die Wahrscheinlichkeit des Auftretens eines Pixels der Stufe i im Bild ist
die Gesamtzahl der Graustufen im Bild (typischerweise 256) ist, n die Gesamtzahl der Pixel im Bild ist und tatsächlich das Histogramm des Bildes für den Pixelwert i ist, normalisiert auf [0,1].
Definieren wir auch die kumulative Verteilungsfunktion entsprechend i als
- ,
Dies ist auch das akkumulierte normalisierte Histogramm des Bildes.
Wir möchten eine Transformation des Formulars erstellen, um ein neues Bild { } mit einem flachen Histogramm zu erzeugen . Ein solches Bild hätte eine linearisierte Summenverteilungsfunktion (CDF) über den Wertebereich, also
- zum
für einige Konstanten . Die Eigenschaften der CDF ermöglichen es uns, eine solche Transformation durchzuführen (siehe Inverse Verteilungsfunktion ); es ist definiert als
wo liegt im bereich . Beachten Sie, dass die Pegel dem Bereich [0,1] zugeordnet werden, da wir ein normalisiertes Histogramm von { } verwendet haben. Um die Werte wieder in ihren ursprünglichen Bereich abzubilden, muss die folgende einfache Transformation auf das Ergebnis angewendet werden:
- .
Eine genauere Herleitung erfolgt hier .
ist ein reeller Wert, während er eine ganze Zahl sein muss. Eine intuitive und beliebte Methode ist die Rundoperation:
- .
Eine detaillierte Analyse führt jedoch zu einer etwas anderen Formulierung. Der zugeordnete Wert sollte 0 für den Bereich von sein . Und für , für , .... und schließlich für . Dann sollte die Quantisierungsformel von bis lauten
.
(Hinweis: Wenn , geschieht dies jedoch nicht nur, weil es bedeutet, dass diesem Wert kein Pixel entspricht.)
Von Farbbildern
Das Obige beschreibt die Histogramm-Entzerrung auf einem Graustufenbild. Es kann jedoch auch auf Farbbilder verwendet werden, indem das gleiche Verfahren separat auf die Rot-, Grün- und Blaukomponenten der RGB- Farbwerte des Bildes angewendet wird. Das Anwenden derselben Methode auf die Rot-, Grün- und Blaukomponenten eines RGB-Bildes kann jedoch zu dramatischen Änderungen der Farbbalance des Bildes führen, da sich die relativen Verteilungen der Farbkanäle als Ergebnis der Anwendung des Algorithmus ändern. Wenn das Bild jedoch zuerst in einen anderen Farbraum, insbesondere Lab-Farbraum oder HSL/HSV-Farbraum konvertiert wird, kann der Algorithmus auf den Luminanz- oder Wertkanal angewendet werden, ohne dass sich der Farbton und die Sättigung des Bildes ändern . Es gibt mehrere Histogramm-Entzerrungsmethoden im 3D-Raum. Trahanias und Venetsanopoulos wendeten die Histogramm-Entzerrung im 3D-Farbraum an. Dies führt jedoch zu einer "Aufhellung", bei der die Wahrscheinlichkeit von hellen Pixeln höher ist als die von dunklen. Hanet al. vorgeschlagen, einen neuen cdf zu verwenden, der durch die Isoluminanzebene definiert wird, was zu einer gleichmäßigen Grauverteilung führt.
Beispiele
Aus Gründen der Übereinstimmung mit der statistischen Verwendung sollte "CDF" (dh kumulative Verteilungsfunktion) durch "kumulatives Histogramm" ersetzt werden, insbesondere da der Artikel auf die kumulative Verteilungsfunktion verweist, die abgeleitet wird, indem die Werte im kumulativen Histogramm durch die Gesamtanzahl der Pixel geteilt werden. Die entzerrte CDF ist in Bezug auf den Rang als definiert .
Kleines Bild
Das gezeigte 8-Bit-Graustufenbild hat die folgenden Werte:
52 | 55 | 61 | 59 | 79 | 61 | 76 | 61 |
---|---|---|---|---|---|---|---|
62 | 59 | 55 | 104 | 94 | 85 | 59 | 71 |
63 | 65 | 66 | 113 | 144 | 104 | 63 | 72 |
64 | 70 | 70 | 126 | 154 | 109 | 71 | 69 |
67 | 73 | 68 | 106 | 122 | 88 | 68 | 68 |
68 | 79 | 60 | 70 | 77 | 66 | 58 | 75 |
69 | 85 | 64 | 58 | 55 | 61 | 65 | 83 |
70 | 87 | 69 | 68 | 65 | 73 | 78 | 90 |
Das Histogramm für dieses Bild ist in der folgenden Tabelle dargestellt. Pixelwerte mit einer Zählung von Null werden der Kürze halber ausgeschlossen.
Wert Zählen Wert Zählen Wert Zählen Wert Zählen Wert Zählen 52 1 64 2 72 1 85 2 113 1 55 3 65 3 73 2 87 1 122 1 58 2 66 2 75 1 88 1 126 1 59 3 67 1 76 1 90 1 144 1 60 1 68 5 77 1 94 1 154 1 61 4 69 3 78 1 104 2 62 1 70 4 79 2 106 1 63 2 71 2 83 1 109 1
Die kumulative Verteilungsfunktion (cdf) ist unten dargestellt. Auch hier werden Pixelwerte, die nicht zu einer Erhöhung des cdf beitragen, der Kürze halber ausgeschlossen.
-
v, Pixelintensität cdf(v) h(v), entzerrt v 52 1 0 55 4 12 58 6 20 59 9 32 60 10 36 61 14 53 62 fünfzehn 57 63 17 65 64 19 73 65 22 85 66 24 93 67 25 97 68 30 117 69 33 130 70 37 146 71 39 154 72 40 158 73 42 166 75 43 170 76 44 174 77 45 178 78 46 182 79 48 190 83 49 194 85 51 202 87 52 206 88 53 210 90 54 215 94 55 219 104 57 227 106 58 231 109 59 235 113 60 239 122 61 243 126 62 247 144 63 251 154 64 255
Dieser cdf zeigt, dass der minimale Wert im Unterbild 52 und der maximale Wert 154 beträgt. Der cdf von 64 für den Wert 154 stimmt mit der Anzahl der Pixel im Bild überein. Die CDF muss auf . Die allgemeine Histogramm-Entzerrungsformel lautet:
wobei cdf min der minimale Wert ungleich Null der kumulativen Verteilungsfunktion ist (in diesem Fall 1), M × N die Pixelanzahl des Bildes angibt (für das obige Beispiel 64, wobei M die Breite und N die Höhe ist) und L ist die Anzahl der verwendeten Graustufen (in den meisten Fällen, wie in diesem, 256).
Beachten Sie, dass die obige Gleichung stattdessen lauten würde, um Werte in den Originaldaten, die über 0 liegen, auf den Bereich 1 bis einschließlich L-1 zu skalieren:
wobei cdf(v) > 0. Die Skalierung von 1 bis 255 behält die Nicht-Null des Minimalwertes bei.
Die Entzerrungsformel für die Beispielskalierungsdaten von 0 bis 255 (einschließlich) lautet:
Zum Beispiel ist der cdf von 78 46. (Der Wert von 78 wird in der unteren Zeile der 7. Spalte verwendet.) Der normalisierte Wert wird
Sobald dies erledigt ist, werden die Werte des entzerrten Bildes direkt aus dem normalisierten cdf entnommen, um die entzerrten Werte zu erhalten:
0 | 12 | 53 | 32 | 190 | 53 | 174 | 53 |
---|---|---|---|---|---|---|---|
57 | 32 | 12 | 227 | 219 | 202 | 32 | 154 |
65 | 85 | 93 | 239 | 251 | 227 | 65 | 158 |
73 | 146 | 146 | 247 | 255 | 235 | 154 | 130 |
97 | 166 | 117 | 231 | 243 | 210 | 117 | 117 |
117 | 190 | 36 | 146 | 178 | 93 | 20 | 170 |
130 | 202 | 73 | 20 | 12 | 53 | 85 | 194 |
146 | 206 | 130 | 117 | 85 | 166 | 182 | 215 |
Beachten Sie, dass der Minimalwert (52) jetzt 0 und der Maximalwert (154) jetzt 255 beträgt.
Bild in voller Größe
Siehe auch
Anmerkungen
Verweise
- Acharya und Ray, Bildverarbeitung: Prinzipien und Anwendungen , Wiley-Interscience 2005 ISBN 0-471-71998-6
- Russ, The Image Processing Handbook: Vierte Auflage , CRC 2002 ISBN 0-8493-2532-3
- "Histogramm-Entzerrung" bei Generation5 ( Archiv )