web-dev-qa-db-fra.com

Afficher l'image OpenCV en niveaux de gris avec matplotlib

J'utilise opencv3 de python l'a installé par anaconda en utilisant:
conda install -c menpo opencv3=3.2.0

Mais quand je l'utilise pour convertir une image en niveaux de gris, comme:

import cv2
import matplotlib.pyplot as plt

%matplotlib inline

image = cv2.imread('opencv_logo.png')

image1 = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)

print (image.shape)
print (image1.shape)

plt.imshow(image1)

enter image description here Je ne sais pas pourquoi:

J'utilise windows + miniconda. Quelqu'un peut-il savoir pourquoi et m'aider? Merci.

12
Kerwin Xiao

Vous êtes censé ajouter un autre paramètre dans plt.imshow() afin de mentionner que vous voulez une image en niveaux de gris.

Modifiez la dernière ligne comme ceci: plt.imshow(img, cmap='gray')

Ce faisant, j'ai obtenu ce qui suit:

enter image description here

15
Jeru Luke