9 votes

Pourquoi est-ce que j'obtiens une image verte lorsque je convertis une image RVB en niveaux de gris à l'aide d'OpenCV ?

Lorsque j'ai essayé de convertir une image RVB avec la fonction OpenCV cv2.cvtColor(), j'ai obtenu une image de couleur verte.

J'ai converti l'image brute lue par OpenCV au format RGB, puis je l'ai convertie en niveaux de gris en utilisant cv2.cvtColor(), et j'ai essayé de l'afficher en utilisant la fonction pyplot.imshow().

image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
plt.imshow(image)

6voto

lenik Points 7247

plt.imgshow() utilise une carte de couleurs pour les images à un seul canal. Vous avez deux solutions possibles, convertir vos niveaux de gris en rgb (en fait dupliquer les niveaux de gris 3 fois), ou choisir une carte de couleurs appropriée comme expliqué ici : https://matplotlib.org/3.1.0/tutorials/colors/colormaps.html

linear colormaps

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X