Maison >développement back-end >Tutoriel Python >Pourquoi mes images couleur OpenCV ne s'affichent-elles pas correctement lorsque je les charge dans matplotlib ?

Pourquoi mes images couleur OpenCV ne s'affichent-elles pas correctement lorsque je les charge dans matplotlib ?

DDD
DDDoriginal
2024-10-25 03:35:291050parcourir

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

Pourquoi OpenCV rend-il les images couleur de manière incorrecte lors du chargement ?

Lors du chargement d'une image couleur à l'aide de Python OpenCV, les utilisateurs peuvent rencontrer des cas où le résultat l'image s'affiche avec des couleurs incorrectes. Ce problème survient en raison des différentes conventions d'ordre des couleurs utilisées par OpenCV et matplotlib.

Comprendre les différences d'ordre des couleurs

OpenCV utilise BGR (Bleu-Vert-Rouge) par défaut ordre des couleurs pour les images, tandis que matplotlib fonctionne avec RVB (Rouge-Vert-Bleu). Cet écart entraîne des distorsions de couleurs lors de l'affichage des images chargées par OpenCV dans matplotlib.

Solution : convertir BGR en RVB

Pour résoudre ce problème, convertissez explicitement l'image de BGR en RVB en utilisant la ligne de code suivante :

RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

Utilisation de l'image convertie pour l'affichage

Une fois l'image convertie en RVB, vous pouvez l'utiliser pour le traçage à la place de l'image BGR originale :

plt.subplot(1,2,i+1),plt.imshow(RGB_img,'gray')

En suivant cette approche, l'image sera affichée avec des couleurs précises, s'alignant sur l'ordre RVB conventionnel utilisé par matplotlib.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn