Différence de couleur lors du chargement de l'image OpenCV résolue
Lors du chargement d'images couleur à l'aide de Python OpenCV pour un traçage ultérieur, on observe que les couleurs affichées semblent déformées . Ce problème survient en raison des différentes représentations de l'espace colorimétrique utilisées par OpenCV et matplotlib.
Comprendre la différence de l'espace colorimétrique :
OpenCV utilise le BGR (Bleu-Vert-Rouge ) tandis que matplotlib utilise l'espace colorimétrique RVB (Rouge-Vert-Bleu). Cette incompatibilité entraîne une confusion des couleurs lors de l'affichage de ces images.
Résolution du problème :
Pour remédier à ce problème, il est nécessaire de convertir l'image en l’espace colorimétrique RVB avant de le tracer. Cela peut être fait à l'aide de la fonction de conversion d'OpenCV :
<code class="python">RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)</code>
Cette étape garantit que les couleurs de l'image tracée reflètent avec précision l'image d'entrée d'origine.
Exemple :
L'extrait de code suivant illustre cette solution :
<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>
En employant cette technique de conversion, nous pouvons charger et tracer avec succès des images couleur à l'aide d'OpenCV et de matplotlib sans subir de distorsion des couleurs.
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!