Maison  >  Article  >  développement back-end  >  **Pourquoi mes images OpenCV semblent-elles déformées lorsqu'elles sont tracées avec Matplotlib ?**

**Pourquoi mes images OpenCV semblent-elles déformées lorsqu'elles sont tracées avec Matplotlib ?**

Linda Hamilton
Linda Hamiltonoriginal
2024-10-24 19:32:30985parcourir

**Why Do My OpenCV Images Appear Color Distorted When Plotted with Matplotlib?**

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!

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