Você está na página 1de 16

Aula 4

Manipulação de Imagens
Representação
• As imagens digitais são representadas por bitmaps.

• Terminologia:
• Pixel: menor elemento que forma uma imagem digital
• Bitmap: matriz de pixels
• Profundidade de bit: bits por pixel (bpp)
• Resolução: largura x altura
Representação
Manipulação
• Ler uma imagem e atribuí-la a uma variável:
myImg = imread('nome_do_arquivo.extensao’);

• Exibir uma imagem:


imshow(myImg);

• Salvar uma imagem em um arquivo:


imwrite(myImg, 'nome_do_arquivo.extensao');
RGB

• Imagens RGB apresentam 3 canais de cores (vermelho, verde e azul)


por pixel, sendo a cor deste uma combinação dos 3 canais.
• Imagens RGB de 24 bpp apresentam 8 bits por canal, isto é, para cada
canal há 256 valores possíveis (0-255).
• Truecolor: imagens no qual cada pixel é representado por 24 bits ou
mais.
RGB

• Algumas cores em RGB:


• Branco: 255, 255, 255
• Vermelho: 255, 0, 0
• Verde: 0, 255, 0
• Azul: 0, 0, 255
• Amarelo: 255, 255, 0
• Preto: 0, 0, 0
Imagem binária
• Imagens em que, para cada pixel, há apenas 2 valores possíveis.
• Tipicamente as cores usadas são preto e branco.
Imagem em tons de cinza
• Imagens em tons de cinza (grayscale) apresentam um bitmap com
apenas 1 canal, onde cada pixel apresenta um valor de iluminação.
• Comumente são usados os padrões de 4bpp e 8bpp.
RGB para Grayscale
• Lightness: média das cores mais
proeminentes e menos proeminentes.
(max(R, G, B) + min(R, G, B)) / 2

• Average: média simples dos canais.


(R + G + B) / 3

• Luminosity: média ponderada cujos


pesos são definidos pela percepção
humana.
0.21 * R + 0.72 * G + 0.07 * B
RGB para Grayscale
• Método Average
Grayscale para Imagem Binária
• Para cada pixel da imagem em tons de cinza:
• Se o valor de iluminação for > que o limiar (threshold):
• Pixel da imagem binária é branco
• Se não:
• Pixel da imagem binária é preto
Imagem monocromáticas
• Imagens monocromáticas apresentam tons de apenas uma cor.
• Também é comum referir-se à imagens em preto e branco e em
grayscale como monocromáticas.
Imagens monocromáticas

• Para tornar uma imagem RGB monocromática em tons de:


• Vermelho: zerar canais G e B e usar um método de grayscale no canal R.
• Azul: zerar canais R e G e usar um método de grayscale no canal B.
• Verde: zerar canais R e B e usar um método de grayscale no canal G.
Imagens monocromáticas
• Para gerar imagens monocromáticas de outras:
1. Pegar valor da cor em RGB
2. Gerar as imagens monocromáticas de cores vermelho, verde e azul
3. Misturar (blend) as imagens resultantes do passo 2 usando pesos
proporcionais à presença de vermelho, verde e azul na cor

• Exemplo (Roxo):
1. (127, 0, 127)
2. Gerar imagem_vermelho e imagem_azul
3. monoRoxo = (0.5 * imagem_vermelho) + (0.5 * imagem_azul)
Exercício
• Escolha uma imagem qualquer na internet e:
• Gere e salve uma nova imagem com um dos métodos de grayscale aplicado
• Gere e salve uma nova imagem convertendo a original em binária usando um
método de grayscale diferente do anterior
• Gere e salve uma nova imagem convertida para um espectro monocromático
escolhido usando um método de grayscale diferente dos anteriores

• Salve o código destes três enunciados em um mesmo script com nome


entrega_2.m.
• Envio do script e da imagem usada para henrique.barcia@gec.inatel.br até
22/08/2019 12:00 (meio dia) com assunto “[C209 – L1] 2ª entrega”.
Informar no corpo do email nome completo e matrícula.
Referências

• http://www.tannerhelland.com/3643/grayscale-image-algorithm-
vb6/
• https://www.johndcook.com/blog/2009/08/24/algorithms-convert-
color-grayscale/
• https://en.wikipedia.org/wiki/Thresholding_(image_processing)

Você também pode gostar