Menu
CoddyTech

Bilder als Arrays

Teil des Abschnitts Daten und Diagramme der Machine Learning-Journey von Coddy. Lektion 29 von 60.

Ein Schwarz-Weiß-Foto ist ein Raster aus Zahlen, eine Helligkeit pro Pixel. Ein 2D-Array ist also ein Bild, und ax.imshow zeichnet es:

plus = np.array([[0, 0, 1, 0, 0],
                 [0, 0, 1, 0, 0],
                 [1, 1, 1, 1, 1],
                 [0, 0, 1, 0, 0],
                 [0, 0, 1, 0, 0]])
fig, ax = plt.subplots()
ax.imshow(plus, cmap="gray")
plt.show()

Ein 5 × 5-Bild eines weißen Pluszeichens auf schwarzem Hintergrund; jedes Pixel zeigt seinen Wert: 1 auf dem weißen Kreuz, 0 in den schwarzen Ecken

cmap="gray" wählt die Graustufen-Farbskala: Der kleinste Wert ist schwarz, der größte weiß. Zeile 0 wird oben dargestellt, so wie das Array geschrieben ist.

Fotos speichern normalerweise Werte von 0 (schwarz) bis 255 (weiß). Später auf diesem Lernpfad liest ein Modell handgeschriebene Ziffern, die genau so gespeichert sind.

challenge icon

Aufgabe

Mittel

Ein Scanner hat einen gedruckten Buchstaben eingelesen, aber invertiert gespeichert: helle Tinte auf dunklem Papier. Die verschachtelte Liste scan enthält die Helligkeit jedes Pixels, von 0 bis 255.

  1. Wandle scan in ein Array um und invertiere es: Jeder Pixel wird zu 255 minus seinem Wert.
  2. Zeichne ihn mit der Graustufen-Farbkarte, mit dem Titel Letter E, und zeige ihn an.

Dein Ergebnis sollte wie dieses hier aussehen, ein gescanntes L nach der Korrektur:

Ein kleiner schwarzer Buchstabe L auf weißem Hintergrund, 7 Pixel hoch und 5 breit, mit dem Titel Letter L

Dein Programm gibt nichts aus. Coddy beschreibt dein Bild Zeile für Zeile.

Probier es selbst

import numpy as np
import matplotlib.pyplot as plt

scan = [[255, 255, 255, 255, 255],
        [255, 30, 0, 0, 0],
        [255, 0, 0, 0, 0],
        [255, 255, 255, 200, 0],
        [255, 0, 0, 0, 0],
        [255, 0, 0, 0, 15],
        [255, 255, 255, 255, 255]]

# Schreibe deinen Code unten
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Daten und Diagramme

Übe selbstständig: Online-Python-Compiler