2014-04-28 18 views
5

Ich habe den folgenden CodePython - Wie bekomme ich die Daten von einer plt.imshow()?

import scipy.misc 
import matplotlib.pyplot as plt 

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

und was ich hoffe, dass die Daten über lena zu erreichen, ist zu erhalten, indem a zugreifen oder es ist Kinder.

Der Grund ist, werde ich das Bild als plt.gcf() oder plt.gca()

Antwort

7

a sollte eine matplotlib.image.AxesImage Instanz sein zugreifen, in dem Fall, dass Sie

a.get_array() 

und

a.set_array(data) 

verwenden können Das Array wird als masked array gespeichert.

Beispiel

ein offizielles Beispiel bei http://matplotlib.org/examples/animation/dynamic_image.html zur Verfügung gibt.

Direkter Zugang

können Sie auch

a._A 

die Array-Daten direkt zugreifen, obwohl ich mir vorstellen, dass die Getter und Setter die bevorzugte Methode ist.

Verwandte Themen