Maison > Article > développement back-end > Voici quelques titres basés sur des questions qui correspondent au contenu du texte fourni : * **Pourquoi mon image OpenCV est-elle différente lorsqu'elle est tracée avec Matplotlib ?** * **Pourquoi y a-t-il une différence de couleur lorsque
Écart de conversion des couleurs OpenCV lors du chargement de l'image
Lors de la tentative de chargement et d'affichage d'une image couleur à l'aide de Python OpenCV, les utilisateurs peuvent rencontrer des écarts de couleur inattendus dans l’image résultante. Ce problème est dû à une différence dans les schémas d'ordre des couleurs par défaut entre OpenCV et la bibliothèque Matplotlib.
Description du problème
Le code fourni par l'utilisateur implique le chargement d'une couleur image en utilisant la fonction cv2.imread() d'OpenCV et en la convertissant en niveaux de gris à l'aide de cv2.cvtColor(). Par la suite, l'image originale et l'image en niveaux de gris sont tracées à l'aide de la fonction plt.imshow() de Matplotlib. Malgré l'utilisation de l'indicateur IMREAD_COLOR, l'image tracée présente des couleurs déformées.
Problème sous-jacent
Par défaut, OpenCV utilise l'ordre des couleurs Bleu-Vert-Rouge (BGR) pour images, tandis que Matplotlib utilise Rouge-Vert-Bleu (RVB). Lorsque l'image chargée par OpenCV est affichée dans Matplotlib, les canaux sont inversés, entraînant un écart de couleur.
Solution
Pour résoudre ce problème, l'utilisateur peut explicitement convertissez l'image BGR chargée depuis OpenCV en RVB à l'aide de la fonction cv2.cvtColor(). L'image RVB convertie peut ensuite être utilisée pour le traçage dans Matplotlib.
<code class="python">import cv2 import matplotlib.pyplot as plt # Load image in BGR img = cv2.imread('lena_caption.png', cv2.IMREAD_COLOR) # Convert BGR to RGB RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # Plot RGB image in Matplotlib plt.imshow(RGB_img) plt.title('Original Image in RGB') plt.xticks([]), plt.yticks([]) plt.show()</code>
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!