Menu
CoddyTech

Imagens como arrays

Parte da seção Dados e gráficos do Journey de Machine Learning da Coddy. Lição 29 de 60.

Uma foto em preto e branco é uma grade de números, um valor de brilho por pixel. Portanto, um array 2D é uma imagem, e ax.imshow a desenha:

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

Uma imagem 5 por 5 de um sinal de mais branco sobre fundo preto, com cada pixel mostrando seu valor: 1 na cruz branca, 0 nos cantos pretos

cmap="gray" seleciona o mapa de cores em tons de cinza: o menor valor é preto, e o maior, branco. A linha 0 é desenhada na parte superior, conforme o array está escrito.

As fotos geralmente armazenam valores de 0 (preto) a 255 (branco). Mais adiante nesta jornada, um modelo lê dígitos escritos à mão armazenados exatamente dessa forma.

challenge icon

Desafio

Médio

Um scanner leu uma letra impressa, mas a armazenou invertida: tinta clara em papel escuro. A lista aninhada scan contém o brilho de cada pixel, de 0 a 255.

  1. Transforme scan em um array e inverta-o: cada pixel passa a ser 255 menos seu valor.
  2. Desenhe-a com o mapa de cores cinza, com o título Letter E, e exiba-a.

A sua deve ficar parecida com esta, um L digitalizado após a correção:

Uma pequena letra L preta em um fundo branco, com 7 pixels de altura e 5 de largura, intitulada Letter L

Seu programa não imprime nada. O Coddy descreve sua imagem, linha por linha.

Experimente você mesmo

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

# Escreva seu código abaixo
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Dados e gráficos

Pratique por conta própria: Compilador de Python online