Heim >Backend-Entwicklung >Python-Tutorial >Warum werden meine OpenCV-Farbbilder falsch angezeigt, wenn ich sie in Matplotlib lade?

Warum werden meine OpenCV-Farbbilder falsch angezeigt, wenn ich sie in Matplotlib lade?

DDD
DDDOriginal
2024-10-25 03:35:291050Durchsuche

Why are my OpenCV color images displaying incorrectly when I load them in matplotlib?

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!

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