Farbdiskrepanz beim Laden von OpenCV-Bildern behoben
Beim Laden von Farbbildern mit Python OpenCV zum anschließenden Plotten wurde beobachtet, dass die angezeigten Farben verzerrt erscheinen . Dieses Problem entsteht aufgrund der unterschiedlichen Farbraumdarstellungen, die von OpenCV und matplotlib verwendet werden.
Den Farbraumunterschied verstehen:
OpenCV verwendet den BGR (Blau-Grün-Rot). ) Farbraum, während Matplotlib den RGB-Farbraum (Rot-Grün-Blau) verwendet. Diese Inkompatibilität führt zu einer Verwechslung der Farben bei der Anzeige dieser Bilder.
Lösung des Problems:
Um dieses Problem zu beheben, ist es notwendig, das Bild in zu konvertieren den RGB-Farbraum, bevor Sie ihn plotten. Dies kann mit der Konvertierungsfunktion von OpenCV erfolgen:
<code class="python">RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)</code>
Dieser Schritt stellt sicher, dass die Farben im geplotteten Bild genau das ursprüngliche Eingabebild widerspiegeln.
Beispiel:
Der folgende Codeausschnitt demonstriert diese Lösung:
<code class="python">import cv2 import matplotlib.pyplot as plt # Loading the image using OpenCV (BGR by default) img = cv2.imread('lena_caption.png') # Converting the image to RGB RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # Plotting the original and converted RGB image plt.subplot(1, 2, 1), plt.imshow(img) plt.title('Original Image (BGR)') plt.subplot(1, 2, 2), plt.imshow(RGB_img) plt.title('Converted RGB Image') plt.show()</code>
Durch den Einsatz dieser Konvertierungstechnik können wir Farbbilder mit OpenCV und matplotlib erfolgreich laden und plotten, ohne dass es zu Farbverzerrungen kommt.
Das obige ist der detaillierte Inhalt von**Warum erscheinen meine OpenCV-Bilder beim Plotten mit Matplotlib farbverzerrt?**. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!