jpg imagenes doesn python matplotlib

imagenes - plt.show() python



Mostrar imagen con un zoom=1 con Matplotlib imshow()(¿cómo?) (2)

Matplotlib no está optimizado para esto. Estaría un poco mejor con opciones más simples si solo desea mostrar una imagen de un píxel a un píxel. (Echa un vistazo a Tkinter, por ejemplo.)

Dicho esto:

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()

O, si realmente quieres usar imshow , necesitarás ser un poco más detallado. Sin embargo, esto tiene la ventaja de que le permite hacer zoom, etc. si lo desea.

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()

Quiero mostrar una imagen (digamos 800x800) con la función Matplotlib.pyplot imshow () pero quiero mostrarla de manera que un píxel de la imagen ocupe un píxel en la pantalla (factor de zoom = 1, sin reducción, sin estiramiento).

Soy un principiante, ¿sabes cómo proceder?


Si realmente no necesitas matlibplot, esta es la mejor manera para mí

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()))

use showbytes() para mostrar una cadena de bytes de imagen, y showarray() para mostrar una matriz numpy.