Carregando
0x10Lição 2 de 16

Trabalhe com matrizes de cores e imagens

Misture cores de vermelho, verde e azul, converta-as em cinza e observe a ordem dos canais.

18 min Questionário com 7 perguntas 2 exercícios de código
Ao final desta lição, você saberá
  • Descreva um pixel colorido como valores de vermelho, verde e azul
  • Converta cores em tons de cinza da maneira como o olho percebe o brilho
  • Evite a armadilha de ordem de canal RGB vs BGR

As telas criam todas as cores misturando luz vermelha, verde e azul. Um pixel colorido, portanto, armazena três números - [R, G, B], cada um geralmente de 0 a 255. [255, 0, 0] é vermelho puro, [255, 255, 255] é branco (todas as luzes acesas) e [0, 0, 0] é preto (todas apagadas). Uma imagem colorida tem forma altura × largura × 3.

pixel.py
pixel = [255, 80, 0]
red, green, blue = pixel
print(red, green, blue)
Saída
255 80 0

Experimente

Até 15 XP

Misturador de cores

Misture cada cor alvo com os três controles deslizantes e verifique sua mistura. Misturar luz não é como misturar tinta: o que o vermelho e o verde formam juntos? Fique de olho também no valor da escala de cinza - o amarelo brilhante é claro ou o cinza escuro?

Como pixel
[128, 128, 128]
Código hexadecimal
#808080
Escala de cinza
128
Sua mistura
Alvo: Amarelo
Cor 1 de 5: misture amareloPontuação 0/0

Da cor ao cinza

Muitas etapas de visão funcionam em escala de cinza, que representa um terço dos dados. Uma média simples de R, G e B parece errada, porque os nossos olhos são mais sensíveis ao verde e menos ao azul. A fórmula padrão os pondera: gray = 0.299 R + 0.587 G + 0.114 B.

grayscale.py
red, green, blue = 255, 80, 0
print(round(0.299 * red + 0.587 * green + 0.114 * blue))
Saída
123

Principais conclusões

  • Um pixel colorido é [R, G, B]; uma imagem colorida tem altura × largura × 3.

  • A escala de cinza pesa mais em verde e menos em azul: 0.299 R + 0.587 G + 0.114 B.

  • Verifique se uma biblioteca usa RGB ou BGR antes de confiar nas cores.

Quiz da aula

7 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

Leia um canal de cores

+25 XP

Leia um pixel JSON RGB como [255, 80, 0]. Imprima apenas seu canal verde (o segundo valor).

  • Pixel laranja
  • Pixel verde-azulado
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

Converter uma imagem em tons de cinza

+25 XP

Leia uma imagem colorida JSON: uma lista de linhas, cada uma com uma lista de [R, G, B] pixels. Imprima a imagem em tons de cinza como uma lista de linhas, usando round(0.299 * R + 0.587 * G + 0.114 * B) para cada pixel.

  • Cores primárias e branco
  • Um pixel 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…