Heim  >  Artikel  >  Backend-Entwicklung  >  So führen Sie mit Python einen Farbhistogrammausgleich für Bilder durch

So führen Sie mit Python einen Farbhistogrammausgleich für Bilder durch

WBOY
WBOYOriginal
2023-08-19 09:50:101593Durchsuche

So führen Sie mit Python einen Farbhistogrammausgleich für Bilder durch

So führen Sie mit Python einen Farbhistogrammausgleich für Bilder durch

Einführung:
Der Farbhistogrammausgleich ist eine gängige Bildverarbeitungsmethode, die das Bild klarer und lebendiger macht, indem der Kontrast des Bildes erhöht wird. In Python können wir mithilfe einiger gängiger Bildverarbeitungsbibliotheken problemlos Farbhistogramm-Ausgleichsoperationen implementieren. In diesem Artikel wird erläutert, wie Sie mit Python das Farbhistogramm von Bildern ausgleichen und entsprechende Codebeispiele bereitstellen.

1. Installieren Sie die erforderlichen Bibliotheken
Bevor wir den Farbhistogrammausgleich durchführen, müssen wir die Bildverarbeitungsbibliothek PIL (Python Imaging Library) oder deren Zweigbibliothek Pillow installieren. Sie können sie mit dem folgenden Befehl installieren:

$ pip install Pillow

2. Importieren Sie die erforderlichen Bibliotheken
Nach Abschluss der Installation müssen wir die erforderlichen Bibliotheken importieren.

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

3. Lesen Sie das Bild
Zuerst müssen wir ein Bild laden, das verarbeitet werden soll. Bilder können mit dem Image-Modul in der PIL-Bibliothek gelesen werden. Das Folgende ist ein Beispielcode zum Lesen von Bildern:

image_path = 'path/to/your/image.jpg'
image = Image.open(image_path)

4. In ein Graustufenbild konvertieren
Der Farbhistogrammausgleich dient hauptsächlich der Anpassung der Helligkeit des Bildes, daher muss das Farbbild in ein Graustufenbild konvertiert werden. Dies kann durch den folgenden Code erreicht werden:

gray_image = image.convert('L')

5. Histogramm berechnen
Bevor wir den Farbhistogrammausgleich durchführen, müssen wir zuerst das Histogramm des Bildes berechnen. Das Histogramm eines Bildes kann mit der Histogrammfunktion in der Numpy-Bibliothek berechnet werden. Das Folgende ist ein Beispielcode für die Berechnung eines Histogramms:

hist, bins = np.histogram(gray_image.flatten(), 256, [0,256])

Dieser Code gibt ein Array hist zurück, das die Histogrammstatistik des Bildes und die den Histogrammstatistiken entsprechenden numerischen Bereichsklassen enthält.

6. Berechnen Sie das kumulative Histogramm
Anhand des Histogramms können wir das kumulative Histogramm berechnen, das zum Ausgleichen der Helligkeit des Bildes verwendet wird. Durch die Akkumulation der Werte des Histogramm-Arrays können wir die kumulative Wahrscheinlichkeitsdichte jeder Graustufe ermitteln. Das Folgende ist ein Beispielcode zur Berechnung des kumulativen Histogramms:

cdf = hist.cumsum()
cdf_normalized = cdf * hist.max() / cdf.max()

7. Berechnen Sie die Zuordnungstabelle
Als nächstes müssen wir das kumulative Histogramm zuordnen, um eine lineare Transformationsfunktion zu erhalten, um die Helligkeit des Bildes auszugleichen. Das Folgende ist ein Beispielcode zur Berechnung der Zuordnungstabelle:

mapping = np.interp(gray_image.flatten(), bins[:-1], cdf_normalized)
equalized_image = mapping.reshape(gray_image.shape)

8. Anzeige der Verarbeitungsergebnisse
Schließlich können wir die Matplotlib-Bibliothek verwenden, um das verarbeitete Bild anzuzeigen. Hier ist ein Beispielcode, der ein Bild anzeigt:

plt.subplot(1, 2, 1)
plt.imshow(gray_image, cmap='gray')
plt.title('Original Image')
plt.axis('off')

plt.subplot(1, 2, 2)
plt.imshow(equalized_image, cmap='gray')
plt.title('Equalized Image')
plt.axis('off')

plt.tight_layout()
plt.show()

Durch Ausführen des obigen Codes können Sie das Originalbild und das entzerrte Bild anzeigen, um die Effekte zu vergleichen.

Fazit:
Der Farbhistogrammausgleich ist eine gängige Bildverarbeitungsmethode, die den Kontrast und die Klarheit von Bildern verbessern kann. Dieser Artikel stellt vor, wie man mit Python das Farbhistogramm von Bildern anpasst, und stellt entsprechende Codebeispiele bereit. Ich hoffe, dass er den Lesern helfen kann. Leser können den Code entsprechend ihren eigenen Bedürfnissen weiter anpassen und verbessern, um mehr Bildverarbeitungsfunktionen zu erreichen.

Das obige ist der detaillierte Inhalt vonSo führen Sie mit Python einen Farbhistogrammausgleich für Bilder durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn