Heim >Backend-Entwicklung >Python-Tutorial >Warum werden meine OpenCV-Farbbilder falsch angezeigt, wenn ich sie in Matplotlib lade?
Warum stellt OpenCV Farbbilder beim Laden falsch dar?
Beim Laden eines Farbbilds mit Python OpenCV können Benutzer auf Fälle stoßen, in denen das Ergebnis Das Bild wird mit falschen Farben angezeigt. Dieses Problem entsteht aufgrund unterschiedlicher Farbreihenfolgekonventionen, die von OpenCV und Matplotlib verwendet werden.
Unterschiede in der Farbreihenfolge verstehen
OpenCV verwendet standardmäßig BGR (Blau-Grün-Rot). Farbreihenfolge für Bilder, während Matplotlib mit RGB (Rot-Grün-Blau) arbeitet. Diese Diskrepanz führt zu Farbverzerrungen bei der Anzeige von Bildern, die von OpenCV in Matplotlib geladen wurden.
Lösung: BGR in RGB konvertieren
Um dieses Problem zu beheben, konvertieren Sie das Bild explizit von BGR in RGB konvertieren, indem Sie die folgende Codezeile verwenden:
RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
Konvertiertes Bild zur Anzeige verwenden
Sobald das Bild in RGB konvertiert ist, können Sie es stattdessen zum Plotten verwenden des ursprünglichen BGR-Bildes:
plt.subplot(1,2,i+1),plt.imshow(RGB_img,'gray')
Durch Befolgen dieses Ansatzes wird das Bild mit präzisen Farben angezeigt, die an der herkömmlichen RGB-Reihenfolge von matplotlib ausgerichtet sind.
Das obige ist der detaillierte Inhalt vonWarum werden meine OpenCV-Farbbilder falsch angezeigt, wenn ich sie in Matplotlib lade?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!