EP03_03 — 🎭 Inversão de Imagem (Negativo Fotográfico)
3.12.3 EP03_03 🎭 Inversão de Imagem (Negativo Fotográfico)
Em radiologia, as imagens de raio-X são tradicionalmente visualizadas em negativo: ossos aparecem em preto sobre fundo branco. A operação de negativo fotográfico é aplicada rotineiramente em PACS (Picture Archiving and Communication Systems) para facilitar a detecção de fraturas e densidades ósseas.
Dimensões: Ler os inteiros \(L\) (linhas) e \(C\) (colunas).
Dados: Ler os valores inteiros da matriz original.
Mapeamento: Para cada pixel \(p\), calcular o negativo:
\[p' = 255 - p\]
Saída: Exibir a matriz resultante \(L \times C\).
3.12.3.2 📌 Restrições Computacionais
Sem clipping necessário: O resultado de \(255 - p\) com \(p \in [0, 255]\) é sempre \(\in [0, 255]\).
Tipo inteiro: Saída deve ser valores inteiros.
Equivalência lógica: A operação é idêntica ao NOT bit a bit (mm.bnot) em imagens de 8 bits.
3.12.3.3 🧠 Fundamentação Teórica
Pixel Original \(p\)
Pixel Negativo \(p'\)
Observação
0 (preto)
255 (branco)
Inversão total
128 (cinza médio)
127 (cinza médio)
Valor central
255 (branco)
0 (preto)
Inversão total
3.12.3.4 📦 Especificação de Entrada e Saída (VPL)
Entrada:
Linha 1: Inteiro \(L\).
Linha 2: Inteiro \(C\).
Linhas seguintes: Elementos inteiros da matriz original.
Saída:
Matriz negativa em \(L\) linhas e \(C\) colunas.
3.12.3.5 📌 Exemplos
Entrada
Saída
Observação
1
4
0 128 200 255
255 127 55 0
Inversão de cada pixel
2
2
10 20
30 40
245 235
225 215
Matriz 2x2 invertida
🎭 Simulador EP03_03: Negativo Fotográfico (Inversão)p' = 255 − p
Observe a inversão complementar de intensidade: tons escuros tornam-se claros e tons claros tornam-se escuros subtraindo cada píxel do valor máximo de 255.
Entrada Original (p)
Negativo (p' = 255 − p)
Fórmula aplicada: p' = 255 − p
Figura 3.28: Simulador EP03_03: Inversão de Imagem — Negativo Fotográfico (p’ = 255 − p)
%%writefile EP03_03.py# Código Python
Writing EP03_03.py
TestSuite("EP03_03.py").run()
✔️ EP03_03.cases já existe em casos/
📋 5 caso(s) carregado(s) de casos/EP03_03.cases
🔍 Testando Python: EP03_03.py
⚠️ EP03_03.py: Arquivo sem conteúdo (menos de 3 linhas). Testes ignorados.