EP01_04 — 🖼️ Leitura e Informações de uma Imagem em Matriz
1.17.4 EP01_04 🖼️ Leitura e Informações de uma Imagem em Matriz
Nesta atividade, você deve escrever um programa que processe uma imagem digital representada como uma matriz de pixels em tons de cinza.
Leia dois inteiros L e C, representando o número de linhas e colunas.
Leia os L * C valores inteiros que compõem a matriz da imagem (cada valor entre 0 e 255).
Calcule e imprima as seguintes informações:
O número de linhas.
O número de colunas.
O valor do maior pixel (Máximo).
O valor do menor pixel (Mínimo).
A Média aritmética de todos os pixels.
📌 Importante:
A saída deve seguir exatamente o formato rotulado (ex: Linhas: X).
O valor da média deve ser formatado com duas casas decimais.
Ver um simulador interativo para esta questão na Figura 1.14 (grade interativa para visualização de intensidades e cálculos em tempo real).
1.17.4.1 🧠 Por que isso importa? – A Imagem como Dados
Toda imagem digital é, no fundo, uma estrutura de dados. Em tons de cinza de 8 bits, cada pixel é um valor escalar. Extrair estatísticas básicas é o primeiro passo para:
Operação
Utilidade Prática
Máximo/Mínimo
Identificar se a imagem está “lavada” (baixo contraste) ou saturada.
Média
Calcular o brilho global da cena para ajustes de exposição.
Normalização
Redimensionar os valores para intervalos como \([0, 1]\) em redes neurais.
1.17.4.2 📋 Tarefa (especificação para VPL)
Entrada:
A primeira linha contém o inteiro L (linhas).
A segunda linha contém o inteiro C (colunas).
As linhas seguintes contêm os elementos da matriz.
📊 Simulador EP01_04: Estatísticas Locais de PixelsMatriz 5x5
Clique sobre qualquer pixel da matriz para incrementar seu nível de cinza (passo de +51) ou utilize as ações pré-definidas abaixo para observar os limites e a média global.
Média Global (µ)
0.00
Valor Máx
0
Valor Mín
0
Figura 1.14: Simulador EP01_04: Estatísticas de Pixels em Matriz Discreta 5x5
%%writefile EP01_04.py# sua solução
Writing EP01_04.py
TestSuite("EP01_04.py").run()
✔️ EP01_04.cases já existe em casos/
📋 5 caso(s) carregado(s) de casos/EP01_04.cases
🔍 Testando Python: EP01_04.py
⚠️ EP01_04.py: Arquivo sem conteúdo (menos de 3 linhas). Testes ignorados.