2015-11-02 13 views
5

Mentre lavoravo con un codice che ho scaricato per un progetto e per imparare Python con, alcuni dei file che il codice estrae sono immagini che vengono salvate come file di dati .npy.Visualizzazione immagini .npy

Sono relativamente nuovo a Python e numpy e molte delle risorse che ho sfogliato prima di postare riguardano i dati numerici salvati come .npy. C'è un modo in cui posso visualizzare le immagini che sono memorizzate con questa estensione e salvare i miei file in quel formato?

risposta

6

.npy è l'estensione del file per gli array NumPy - si può leggere usando numpy.load:

import numpy as np 

img_array = np.load('filename.npy') 

Uno dei modi più semplici per visualizzare li sta usando imshow la funzione di matplotlib:

from matplotlib import pyplot as plt 

plt.imshow(img_array, cmap='gray') 
plt.show() 

Si potrebbe utilizzare anche PIL or pillow:

from PIL import Image 

im = Image.fromarray(img_array) 
# this might fail if `img_array` contains a data type that is not supported by PIL, 
# in which case you could try casting it to a different dtype e.g.: 
# im = Image.fromarray(img_array.astype(np.uint8)) 

im.show() 

Queste funzioni non fanno parte della libreria standard Python, quindi potrebbe essere necessario installare matplotlib e/o PIL/pillow se non lo si è già fatto. Suppongo inoltre che i file siano array 2D [rows, cols] (bianco e nero) o 3D [rows, cols, rgb(a)] (a colori) di valori di pixel. Se questo non è il caso, dovrai dirci di più sul formato degli array, ad esempio cosa sono img_array.shape e img_array.dtype.

enter image description here

+0

Questo è sufficiente una guida per aiutarmi a capirlo. Pensavo fossero immagini ma in effetti sono un array generato da un programma che legge l'immagine. –

+0

Trovato questo errore in Windows 10 usando PyCharm https://pastebin.com/CLmS805E –

+0

^errore era dovuto al percorso e sembra essere un bug Python! –

Problemi correlati