Carregando
0x30Lição 4 de 16

Separe o primeiro plano do fundo

Transforme uma imagem em uma máscara de primeiro plano com um limiar e escolha o limiar em um histograma.

20 min Questionário com 6 perguntas 2 exercícios de código
Ao final desta lição, você saberá
  • Aplique um limiar para criar uma máscara binária
  • Leia um histograma de brilho e escolha um limiar
  • Explique por que um único limiar falha quando a iluminação é irregular

Digitalizar um documento, contar células em um microscópio, encontrar uma peça em uma esteira transportadora: muitas vezes, a primeira tarefa é separar o primeiro plano (as coisas que são importantes para você) do fundo. A ferramenta mais simples é um limiar: cada pixel pelo menos tão brilhante quanto um corte torna-se 1 (primeiro plano), o restante 0. O resultado é uma máscara binária - uma forma simples de segmentação.

threshold.py
pixels = [20, 90, 140, 230]
mask = [1 if value >= 128 else 0 for value in pixels]
print(mask)
Saída
[0, 0, 1, 1]

Escolhendo o limiar

Um histograma conta quantos pixels têm cada brilho. Quando os objetos e o fundo diferem claramente, ele mostra duas saliências e um bom limiar fica no vale entre elas. O método de Otsu encontra esse vale automaticamente, escolhendo o ponto de corte que torna os dois grupos tão diferentes quanto possível.

Experimente

Até 15 XP

Controle deslizante de limiar

Esta cena tem um quadrado brilhante (canto superior esquerdo) e um disco brilhante (canto inferior direito) - mas está iluminado de forma irregular: mais escuro à esquerda, mais claro à direita.

  • Deslize o limiar para capturar ambos objetos e nada mais. Você pode?
  • Experimente o limiar automático de Otsu. Um método automático corrige a iluminação irregular?
  • Observe as barras cinza e azul: o limiar divide o histograma em dois.
Imagem em escala de cinza
Máscara: 68 pixels de primeiro plano (brancos)

Histograma: quantos pixels têm cada brilho

0 (preto)255 (branco)
Otsu escolhe 105: o corte que melhor divide o histograma em dois grupos.

Nenhum corte único funciona em todos os lugares da cena: o lado direito claro do fundo é tão claro quanto o quadrado no lado esquerdo escuro. Limiar adaptativo corrige isso calculando um limiar separado para cada vizinhança (por exemplo, “mais claro que a média local”). O guia de limiar do OpenCV mostra ambos os métodos em fotos reais.

Principais conclusões

  • Um limiar transforma o brilho em uma máscara sim/não - a segmentação mais simples.

  • Um histograma mostra a distribuição de brilho; um bom corte fica entre as lombadas (Otsu o encontra automaticamente).

  • A iluminação irregular precisa de limiares adaptativos que variam na imagem.

Quiz da aula

6 perguntas · aprovação com 5 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Pratique: aplique visão computacional com Python

Use pequenas matrizes de pixels para explorar conceitos de visão, execute seu código com imagens de exemplo e relacione cada resultado à ideia maior de visão computacional.

Exercício 1

Construa uma máscara binária

+25 XP

Leia uma lista JSON de valores em tons de cinza e, na linha seguinte, um limiar inteiro. Imprima uma lista com 1 para cada pixel maior ou igual ao limiar e 0 para os demais.

  • Dividir escuro e claro
  • Incluir o corte
main.py
Carregando editor…

O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.

Exercício 2

Construa um histograma de brilho

+25 XP

Leia uma imagem JSON em tons de cinza. Conte seus pixels em quatro faixas de brilho - 0–63, 64–127, 128–191 e 192–255 – e imprima as quatro contagens separadas por espaços.

  • Escuro e brilhante
  • Tudo meio cinza
main.py
Carregando editor…

O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…