Menu
CoddyTech

Immagini come array

Fa parte della sezione Dati e grafici del percorso Machine Learning di Coddy. Lezione 29 di 60.

Una foto in bianco e nero è una griglia di numeri, uno per la luminosità di ogni pixel. Quindi un array 2D è un'immagine e ax.imshow la disegna:

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()

Un'immagine 5 per 5 di un segno più bianco su sfondo nero, ogni pixel mostra il proprio valore: 1 sulla croce bianca, 0 negli angoli neri

cmap="gray" seleziona la mappa di colori grigia: il valore più piccolo è nero, il più grande è bianco. La riga 0 viene disegnata in alto, così come è scritto l'array.

Le foto di solito memorizzano valori da 0 (nero) a 255 (bianco). Più avanti in questo percorso, un modello legge cifre scritte a mano memorizzate esattamente così.

challenge icon

Sfida

Medio

Uno scanner ha letto una lettera stampata ma l'ha memorizzata invertita: inchiostro chiaro su carta scura. La lista annidata scan contiene la luminosità di ogni pixel, da 0 a 255.

  1. Trasforma scan in un array e inverti i valori: ogni pixel diventa 255 meno il suo valore.
  2. Disegnala con la mappa dei colori grigi, con il titolo Letter E, e visualizzala.

La tua dovrebbe assomigliare a questa, una L scansionata dopo la correzione:

Una piccola lettera L nera su sfondo bianco, alta 7 pixel e larga 5, con il titolo Letter L

Il tuo programma non stampa nulla. Coddy descrive la tua immagine, riga per riga.

Provalo tu

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]]

# Scrivi il tuo codice qui sotto
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Dati e grafici

Esercitati da solo: Compilatore Python online