%************************************************************************ %Klassifizierungen einlesen %Klassifizierungsdatei öffnen und File Handle erzeugen labelFID = fopen('PUE2_KlassifizierungenZumLerndatensatz.bin','r'); %Magic Number einlesen (muss 2049 sein) magicNumber = fread(labelFID, 1, '*uint32', 'ieee-be') %Anzahl der enthaltenen Klassifizierungen einlesen (10.000) numberOfLabels = fread(labelFID, 1, '*uint32', 'ieee-be') %Alle Klassifizierungen in in einen Vektor einlesen labels = fread(labelFID, inf, '*uint8', 'ieee-be'); %Klassifizierungsdatei schließen fclose(labelFID); %************************************************************************ %Lerndatensatz einlesen %Lerndatensatz öffnen und File Handle erzeugen imagesFID = fopen('PUE2_Lerndatensatz.bin','r'); %Magic Number einlesen (muss 2051 sein) magicNumber = fread(labelFID, 1, '*uint32', 'ieee-be') %Anzahl der enthaltenen Bilder von Ziffern einlesen (10.000) numberOfImages = fread(labelFID, 1, '*uint32', 'ieee-be') %Anzahl der Zeilen pro Bild einlesen (28) numberOfRows = fread(labelFID, 1, '*uint32', 'ieee-be') %Anzahl der Spalten pro Bild einlesen (28) numberOfColumns = fread(labelFID, 1, '*uint32', 'ieee-be') %Pixel aller Bilder in einen Vektor einlesen pixels = fread(labelFID, inf, '*uint8', 'ieee-be'); %Lerndatensatz schließen fclose(imagesFID); %************************************************************************ %Kurzer Test %Klassifizierung für das erste Zeichen ausgeben (sollte 7 sein) firstLabel = labels(1) %Zweidimensionale Matrix aus Pixelvektor erzeugen mit einem Zeichen pro %Spaltenvektor images = reshape(pixels, numberOfRows * numberOfColumns, []); %Zweidimensionale Bildmatrix aus erstem Spaltenvektor erzeugen firstImage = double(reshape(images(:,1),numberOfColumns, numberOfRows))'; %Bildmatrix als Bild anzeigen (in Graustufen und mit gleicher %Achsenskalierung) colormap('gray'); image(firstImage); axis square; %Das zweite Zeichen sollte eine 2 sein, ...