2014-04-28 11 views
5

Ho il seguente codice dipython - come ottenere i dati da un plt.imshow()?

import scipy.misc 
import matplotlib.pyplot as plt 

a = plt.imshow(scipy.misc.lena()) 

e quello che spero di raggiungere è ottenere i dati su Lena accedendo a o è bambini.

Il motivo è che sarò l'accesso all'immagine come plt.gcf() o plt.gca()

risposta

7

a dovrebbe essere un esempio matplotlib.image.AxesImage, nel qual caso è possibile utilizzare

a.get_array() 

e

a.set_array(data) 

La matrice è memorizzata come masked array.

Esempio

C'è un esempio ufficiale disponibile presso http://matplotlib.org/examples/animation/dynamic_image.html.

Accesso diretto

È inoltre possibile utilizzare

a._A 

per accedere ai dati di matrice direttamente, anche se immagino che i getter e setter sono il metodo preferito.

Problemi correlati