[PYTHON] Ce qui m'inquiétait lors de l'affichage d'images avec matplotlib

Il y avait certains points qui m'inquiétaient un peu lors de l'affichage d'images avec matplotlib, donc je les ai résumés. Je suis sûr qu'il y a des gens qui sont intéressés (surtout ceux qui commencent à l'utiliser), alors j'espère que je pourrai éviter la peine de chercher ne serait-ce qu'un peu. J'utilise beaucoup le notebook jupyter, donc je suppose qu'il y sera utilisé.

1. 1. cette? C'est censé être une échelle de gris, mais c'est coloré?

voir c'est croire. Affichez l'image pour le moment.

python


#Les diverses importations habituelles
import cv2
import numpy as np
from matplotlib import pyplot as plt

im = np.array(cv2.imread('lena.png',0)) #Chargez l'image et convertissez-la au format numpy

cv2.imread ('lena.png', 0) signifie lire "lena.png " à 0, c'est-à-dire en échelle de gris. Maintenant, affichons l'image avec matplotlib.

python


#Affichage avec matplotlib
plt.imshow(im)
plt.show()

Ensuite, il sera affiché comme ceci.

スクリーンショット 2020-03-31 21.34.41.png

D'une manière ou d'une autre, il est coloré. Puisque matplotlib a une carte de couleurs définie par défaut, cela ressemble à ceci. Pour libérer cela, insérez simplement plt.gray ().

python


plt.gray() #Carte des couleurs"gray"Mis à
plt.imshow(im)
plt.show()

スクリーンショット 2020-03-31 21.46.19.png C'est exactement ce à quoi je m'attendais. En fait, il y a des informations à divers endroits jusqu'à présent, mais j'ai pensé de cette façon.

Mais ça fait du bien, alors voulez-vous revenir à la carte des couleurs d'origine?


Je n'ai pas pu le trouver de façon inattendue et j'ai pensé: "Je me demande si quelqu'un veut le récupérer ...". Je ne savais pas quelle était la palette de couleurs par défaut, alors j'ai renoncé à essayer de la restaurer, mais elle était correctement écrite dans Official.

スクリーンショット 2020-03-31 21.54.38.png

Ce * viridis * semble être la palette de couleurs par défaut. Définissons-le immédiatement.

python


plt.viridis()
plt.imshow(im)
plt.show()

スクリーンショット 2020-03-31 21.34.41.png Maintenant c'est de retour. Toutes nos félicitations.

2. cette? Le contraste est-il étrange?

Je pense que c'est un miracle que j'ai remarqué cela, mais j'ai pensé que la couleur était un peu étrange. J'ai donc essayé de charger une telle image dans le test. test.png C'est Makuro. … Mais quand il est affiché par matplotlib スクリーンショット 2020-03-31 22.20.06.png

Il semble que la gradation des couleurs soit normalisée. Afin de résoudre ce problème, il semble que vmin et vmax doivent être spécifiés comme indiqué ci-dessous.

python


plt.imshow(im, vmin = 0, vmax = 255) 

スクリーンショット 2020-03-31 22.27.35.png Si vous plissez les yeux, vous pouvez le voir légèrement.

Je suis sûr qu'il existe d'autres paramètres par défaut que je n'ai pas remarqués. c'est tout. Veuillez me faire savoir si vous avez des erreurs.

Recommended Posts

Ce qui m'inquiétait lors de l'affichage d'images avec matplotlib
Éléments à prendre en compte lors de la mise en œuvre d'Airflow avec docker-compose
Où j'étais inquiet pour heroku
Je suis tombé sur une expression lambda alors que je m'inquiétais de la fonctionnalisation
Je souhaite afficher plusieurs images avec matplotlib.
Ce à quoi j'étais accro lors de l'utilisation de Python tornado
Ce que j'ai fait quand j'étais en colère de le mettre avec l'option enable-shared
Ce à quoi j'étais accro lorsque l'utilisateur de traitement est passé à Python
Ce que j'ai appris sur Linux
Qu'est-ce qui a été demandé lors de l'utilisation de Random Forest dans la pratique
Ce à quoi j'étais accro en présentant ALE à Vim pour Python
Ce à quoi j'étais accro avec json.dumps dans l'encodage base64 de Python
J'ai essayé de résumer ce qui était sorti avec Qiita avec Word cloud
Une note à laquelle j'étais accro lors de la création d'une table avec SQL Alchemy
Ce qui était surprenant dans les classes Python
Quand matplotlib ne fonctionne pas avec python2.7
Je souhaite résoudre le problème de fuite de mémoire lors de la sortie d'un grand nombre d'images avec Matplotlib
À propos du démarrage d'une instance avec un volume EBS crypté (où j'étais accro)
Un rappel de ce que je suis resté coincé lors du démarrage d'Atcoder avec python
Ce que je suis entré lors de l'utilisation de Tensorflow-gpu
Ce à quoi j'ai fait référence en étudiant tkinter
Ce que j'ai fait avec les tableaux Python
Ce que j'étais accro à Python autorun
Connectez-vous lorsque je craignais de ne pas pouvoir me connecter au Wi-Fi sous Linux
Ce à quoi j'étais accro lors de la création d'applications Web dans un environnement Windows
J'ai échoué lors du clustering avec k-means, mais que dois-je faire (implémentation du noyau k-means)
Ce que j'ai fait quand je suis resté coincé dans le délai avec lambda python
Trois choses auxquelles j'étais accro lors de l'utilisation de Python et MySQL avec Docker
Une note à laquelle j'étais accro lors de l'exécution de Python avec Visual Studio Code
Une histoire à laquelle j'étais accro après la communication SFTP avec python