Bild mit einem Zoom anzeigen = 1 mit Matplotlib imshow () (wie?)

Ich möchte ein Bild (zB 800×800) mit Matplotlib.pyplot imshow () -Funktion anzeigen, aber ich möchte es so anzeigen, dass ein Pixel des Bildes ein Pixel auf dem Bildschirm einnimmt (Zoomfaktor = 1, kein Schrumpfen, keine Dehnung).

Ich bin Anfänger, also weißt du, wie ich vorgehen soll?

2 Solutions collect form web for “Bild mit einem Zoom anzeigen = 1 mit Matplotlib imshow () (wie?)”

Matplotlib ist dafür nicht optimiert. Sie wären ein bisschen besser dran mit einfacheren Optionen, wenn Sie nur ein Bild an einem Pixel-zu-eins-Pixel anzeigen möchten. (Schauen Sie sich Tkinter an.)

Das ist gesagt worden:

import matplotlib.pyplot as plt import numpy as np # DPI, here, has _nothing_ to do with your screen's DPI. dpi = 80.0 xpixels, ypixels = 800, 800 fig = plt.figure(figsize=(ypixels/dpi, xpixels/dpi), dpi=dpi) fig.figimage(np.random.random((xpixels, ypixels))) plt.show() 

Oder wenn du es wirklich willst, imshow du ein bisschen ausführlicher sein. Allerdings hat dies den Vorteil, dass Sie zoomen, etc., wenn gewünscht.

 import matplotlib.pyplot as plt import numpy as np dpi = 80 margin = 0.05 # (5% of the width/height of the figure...) xpixels, ypixels = 800, 800 # Make a figure big enough to accomodate an axis of xpixels by ypixels # as well as the ticklabels, etc... figsize = (1 + margin) * ypixels / dpi, (1 + margin) * xpixels / dpi fig = plt.figure(figsize=figsize, dpi=dpi) # Make the axis the right size... ax = fig.add_axes([margin, margin, 1 - 2*margin, 1 - 2*margin]) ax.imshow(np.random.random((xpixels, ypixels)), interpolation='none') plt.show() 

Wenn du nicht wirklich Matlibplot brauchst, hier ist der beste Weg für mich

 import PIL.Image from io import BytesIO import IPython.display import numpy as np def showbytes(a): IPython.display.display(IPython.display.Image(data=a)) def showarray(a, fmt='png'): a = np.uint8(a) f = BytesIO() PIL.Image.fromarray(a).save(f, fmt) IPython.display.display(IPython.display.Image(data=f.getvalue())) 

Verwenden Sie showbytes() um eine showarray() Zeichenfolge showarray() , und showarray() um ein numpy-Array anzuzeigen.

  • Funktion von Numpy Array mit if-Anweisung
  • Wie man die Verwirrungs- / Ähnlichkeitsmatrix eines K-Mittelalgorithmus aufgibt
  • Seaborn Barplot - Werte anzeigen
  • Benutzerdefinierte Farbkarte in Python
  • Füge noch mehr Etiketten zur x-Achse hinzu python matplotlib
  • Pandas - Streudiagramm mit unterschiedlicher Farblegende für jeden Punkt
  • Wie man mehrere Dichte-Plots auf der gleichen Figur in Python zu plotten
  • Matplotlib interaktive grafiken (manuell zeichnen von zeilen auf einem grafik)
  • Linie Farbe der 3D-parametrischen Kurve in Python's Matplotlib.pyplot
  • IPython: Wie zeigt man das gleiche Plot in verschiedenen Zellen?
  • Aktualisieren eines matplotlib-Balkendiagramms?
  • Python ist die beste Programmiersprache der Welt.