[PYTHON] Worüber ich mir Sorgen gemacht habe, als ich Bilder mit matplotlib angezeigt habe

Es gab einige Punkte, über die ich mir beim Anzeigen von Bildern mit matplotlib ein wenig Sorgen gemacht habe, deshalb habe ich sie zusammengefasst. Ich bin mir sicher, dass es Leute gibt, die interessiert sind (insbesondere diejenigen, die anfangen, es zu benutzen), also hoffe ich, dass ich mir die Mühe sparen kann, auch nur ein wenig zu suchen. Ich benutze viel Jupyter Notebook, daher gehe ich davon aus, dass es dort verwendet wird.

1. 1. Das? Es soll Graustufen sein, aber es ist farbig?

Sehen heißt glauben. Lassen Sie uns das Bild vorerst anzeigen.

python


#Die üblichen verschiedenen Importe
import cv2
import numpy as np
from matplotlib import pyplot as plt

im = np.array(cv2.imread('lena.png',0)) #Laden Sie das Bild und konvertieren Sie es in das Numpy-Format

cv2.imread ('lena.png', 0) bedeutet, "lena.png " bis 0 zu lesen, dh in Graustufen. Lassen Sie uns nun das Bild mit matplotlib anzeigen.

python


#Anzeige mit matplotlib
plt.imshow(im)
plt.show()

Dann wird es so angezeigt.

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

Irgendwie ist es farbig. Da für matplotlib standardmäßig eine Farbkarte festgelegt ist, sieht dies folgendermaßen aus. Um dies freizugeben, fügen Sie einfach plt.gray () ein.

python


plt.gray() #Farbkarte"gray"Einstellen
plt.imshow(im)
plt.show()

スクリーンショット 2020-03-31 21.46.19.png Genau das habe ich erwartet. Eigentlich gibt es bisher Informationen an verschiedenen Orten, aber ich habe so gedacht.

Aber es hat sich gut angefühlt. Möchten Sie zur ursprünglichen Farbkarte zurückkehren?


Ich konnte es nicht unerwartet finden und dachte: "Ich frage mich, ob jemand es zurückbekommen möchte ...". Ich wusste nicht, was die Standard-Farbkarte war, also gab ich den Versuch auf, sie wiederherzustellen, aber sie wurde ordnungsgemäß in Official geschrieben.

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

Diese * viridis * scheint die Standard-Farbkarte zu sein. Lassen Sie es uns sofort einstellen.

python


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

スクリーンショット 2020-03-31 21.34.41.png Jetzt ist es zurück. Herzliche Glückwünsche.

2. Das? Ist der Kontrast seltsam?

Ich denke, es war ein Wunder, dass ich das bemerkt habe, aber ich fand die Farbe etwas seltsam. Also habe ich versucht, ein solches Bild in den Test zu laden. test.png Es ist Makuro. … Aber wenn es von matplotlib angezeigt wird スクリーンショット 2020-03-31 22.20.06.png

Es scheint, dass die Farbabstufung normalisiert ist. Um dies zu lösen, müssen vmin und vmax wie unten gezeigt angegeben werden.

python


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

スクリーンショット 2020-03-31 22.27.35.png Wenn Sie blinzeln, können Sie es leicht sehen.

Ich bin sicher, dass es andere Standardeinstellungen gibt, die ich nicht bemerkt habe. das ist alles. Bitte lassen Sie mich wissen, wenn Sie Fehler haben.

Recommended Posts

Worüber ich mir Sorgen gemacht habe, als ich Bilder mit matplotlib angezeigt habe
Dinge, die Sie bei der Implementierung von Airflow mit Docker-Compose beachten sollten
Wo ich mir Sorgen um Heroku machte
Ich stieß auf einen Lambda-Ausdruck, als ich mir Sorgen um die Funktionalisierung machte
Ich möchte mehrere Bilder mit matplotlib anzeigen.
Wovon ich süchtig war, als ich Python Tornado benutzte
Was ich getan habe, als ich wütend war, es mit der Option enable-shared einzufügen
Wovon ich süchtig war, als der Processing-Benutzer zu Python wechselte
Was ich über Linux gelernt habe
Was wurde gefragt, wenn Random Forest in der Praxis verwendet wurde?
Wovon ich süchtig war, als ich ALE in Vim für Python einführte
Was ich mit json.dumps in Pythons base64-Codierung süchtig gemacht habe
Ich habe versucht zusammenzufassen, was mit Qiita mit Word Cloud ausgegeben wurde
Ein Hinweis, dem ich beim Erstellen einer Tabelle mit SQL Alchemy verfallen war
Was war überraschend an Python-Klassen?
Wenn matplotlib nicht mit python2.7 funktioniert
Ich möchte das Problem des Speicherverlusts bei der Ausgabe einer großen Anzahl von Bildern mit Matplotlib lösen
Über das Starten einer Instanz mit einem verschlüsselten EBS-Volume (wo ich süchtig war)
Eine Erinnerung an das, was ich beim Starten von Atcoder mit Python feststeckte
Worauf ich mich bei der Verwendung von Tensorflow-gpu eingelassen habe
Worauf ich mich beim Studium von tkinter bezog
Was ich mit Python-Arrays gemacht habe
Was ich süchtig nach Python Autorun war
Melden Sie sich an, wenn ich befürchtet habe, dass ich unter Linux keine Verbindung zu Wi-Fi herstellen kann
Wovon ich beim Erstellen von Webanwendungen in einer Windows-Umgebung abhängig war
Ich habe beim Clustering mit k-means versagt, aber was soll ich tun (Implementierung des Kernels k-means)
Was ich getan habe, als ich mit Lambda Python im Zeitlimit steckte
Drei Dinge, von denen ich süchtig war, als ich Python und MySQL mit Docker verwendete
Ein Hinweis, dem ich beim Ausführen von Python mit Visual Studio Code verfallen war
Eine Geschichte, der ich nach der SFTP-Kommunikation mit Python verfallen war