from scipy import misc import numpy as np import matplotlib.pyplot as plt class Bild(object): def __init__(self,daten=None, info=None): self.daten = daten if info: self.info=info else: self.info= '' def read_from_file(self,name): self.daten = misc.imread(name, 'F') self.info = "From file: " + name def show(self): plt.imshow(self.daten,cmap=plt.get_cmap('gray')) plt.show() def bildlesen(): bild=Bild() nameBild=raw_input("Gib den Namen des Bildes ein: ") bild.read_from_file(nameBild) print "Bild shape: ", bild.daten.shape if bild.daten.shape== (28,28): bild.daten= np.reshape(bild.daten, (784,)) print "Bild erfolgreich in Vektor geschrieben: ", bild.daten.shape elif bild.daten.shape== [784,]: print "Bild bereits im richtigem Format, Vorgang wird fortgesetzt. " elif bild.daten.shape[0]%2!=0 or bild.daten.shape[1]%2!=0: print "Es wird ein Bild mit einer geraden Anzahl an Pixlen benoetigt!" else: bild.daten=bild.daten[bild.daten.shape[0]/2-14:bild.daten.shape[0]/2+14, bild.daten.shape[1]/2-14:bild.daten.shape[1]/2+14] bild.daten= np.reshape(bild.daten,(784,)) print "Bild erfolgreich auf 28x28 editiert und in einen Vektor", bild.daten.shape, "umgewandelt." return bild