Menu
CoddyTech

Imágenes como matrices

Parte de la sección Datos y gráficos del Journey de Machine Learning de Coddy. Lección 29 de 60.

Una foto en blanco y negro es una cuadrícula de números, uno por cada píxel que representa su brillo. Así que un arreglo 2D es una imagen, y ax.imshow la dibuja:

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

Una imagen de 5 por 5 de un signo más blanco sobre fondo negro; cada píxel muestra su valor: 1 en la cruz blanca, 0 en las esquinas negras

cmap="gray" selecciona el mapa de colores gris: el valor más pequeño es negro y el más grande, blanco. La fila 0 se dibuja arriba, tal como está escrito el array.

Las fotos suelen almacenar valores de 0 (negro) a 255 (blanco). Más adelante en este recorrido, un modelo leerá dígitos escritos a mano almacenados exactamente así.

challenge icon

Desafío

Intermedio

Un escáner leyó una letra impresa, pero la guardó invertida: tinta brillante sobre papel oscuro. La lista anidada scan contiene el brillo de cada píxel, de 0 a 255.

  1. Convierte scan en un arreglo e inviértelo: cada píxel pasa a ser 255 menos su valor.
  2. Dibújalo con el mapa de colores gris, titúlalo Letter E y muéstralo.

El tuyo debería verse como este, una L escaneada después de la corrección:

Una pequeña letra L negra sobre un fondo blanco, de 7 píxeles de alto y 5 de ancho, titulada Letter L

Tu programa no imprime nada. Coddy describe tu imagen fila por fila.

Pruébalo tú mismo

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

# Escribe tu código a continuación
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Datos y gráficos

Practica por tu cuenta: Compilador de Python online