You are on page 1of 55

Processamento Digital de Imagem

Conceitos e tecnicas basicas


Ronaldo de Freitas Zampolo
Laborat
orio de Processamento de Sinais LaPS
Instituto de Tecnologia ITEC
Universidade Federal do Par
a UFPA

Abril de 2009

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

1 / 34

Sumario

Introducao ao Processamento de Imagem

Imagens digitais
Representacao
Tipos de imagens digitais
Espaco de cores
Pratica em Octave/Matlab
Exerccios

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

2 / 34

Introduc
ao ao Processamento de Imagem

Imagens em nossas vidas

Para pensar um pouco...

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

3 / 34

Introduc
ao ao Processamento de Imagem

Imagens em nossas vidas

Para pensar um pouco...


Qual o papel do processamento de imagens em sua vida?

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

3 / 34

Introduc
ao ao Processamento de Imagem

Imagens em nossas vidas

Para pensar um pouco...


Qual o papel do processamento de imagens em sua vida?
Quais as aplicacoes em processamento de imagens que voce consegue
lembrar?

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

3 / 34

Introduc
ao ao Processamento de Imagem

O sistema de processamento de imagens nosso de cada dia

Vendo o mundo

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

4 / 34

Introduc
ao ao Processamento de Imagem

O sistema de processamento de imagens nosso de cada dia

Vendo o mundo

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

4 / 34

Introduc
ao ao Processamento de Imagem

O sistema de processamento de imagens nosso de cada dia

Vendo o mundo

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

4 / 34

Introduc
ao ao Processamento de Imagem

O sistema de processamento de imagens nosso de cada dia

Vendo o mundo

Complexo e nao-linear (dificil de ser modelado)

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

4 / 34

Introduc
ao ao Processamento de Imagem

O sistema de processamento de imagens nosso de cada dia

Vendo o mundo

Complexo e nao-linear (dificil de ser modelado)


Suas caractersticas podem ser usadas em sistemas de processamento
artificial

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

4 / 34

Introduc
ao ao Processamento de Imagem

Curiosidades

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

5 / 34

Introduc
ao ao Processamento de Imagem

Curiosidades

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

5 / 34

Introduc
ao ao Processamento de Imagem

Curiosidades

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

5 / 34

Introduc
ao ao Processamento de Imagem

Curiosidades

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

5 / 34

Introduc
ao ao Processamento de Imagem

Curiosidades

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

5 / 34

Introduc
ao ao Processamento de Imagem

Curiosidades

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

5 / 34

Introduc
ao ao Processamento de Imagem

Curiosidades

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

5 / 34

Introduc
ao ao Processamento de Imagem

Curiosidades

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

5 / 34

Introduc
ao ao Processamento de Imagem

Curiosidades

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

5 / 34

Introduc
ao ao Processamento de Imagem

Uma imagem vale mais que mil palavras

Algumas areas de aplicacao


Ensino

Modalidades
Recursos didaticos
multimdia
Realidade virtual/estendida

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

6 / 34

Introduc
ao ao Processamento de Imagem

Uma imagem vale mais que mil palavras

Algumas areas de aplicacao


Ensino
Entretenimento

Modalidades
Recursos didaticos
multimdia
Realidade virtual/estendida
Fotografia/Vdeo digital
Internet Protocol TV (IPTV)

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

6 / 34

Introduc
ao ao Processamento de Imagem

Uma imagem vale mais que mil palavras

Algumas areas de aplicacao


Ensino
Entretenimento
Ind
ustria

Modalidades
Recursos didaticos
multimdia
Realidade virtual/estendida
Fotografia/Vdeo digital
Internet Protocol TV (IPTV)
Controle de linha de
montagem

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

6 / 34

Introduc
ao ao Processamento de Imagem

Uma imagem vale mais que mil palavras

Algumas areas de aplicacao


Ensino
Entretenimento

Modalidades
Recursos didaticos
multimdia

Ind
ustria

Realidade virtual/estendida

Biometria/Seguranca

Fotografia/Vdeo digital
Internet Protocol TV (IPTV)
Controle de linha de
montagem
Identificacao/autenticacao de
indivduos

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

6 / 34

Introduc
ao ao Processamento de Imagem

Uma imagem vale mais que mil palavras

Algumas areas de aplicacao


Ensino
Entretenimento

Modalidades
Recursos didaticos
multimdia

Ind
ustria

Realidade virtual/estendida

Biometria/Seguranca

Area
medica

Fotografia/Vdeo digital
Internet Protocol TV (IPTV)
Controle de linha de
montagem
Identificacao/autenticacao de
indivduos

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

6 / 34

Introduc
ao ao Processamento de Imagem

Uma imagem vale mais que mil palavras

Area
medica
Melhoramento e restauracao
Ultra-som
Tomografia
Raio-x

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

7 / 34

Introduc
ao ao Processamento de Imagem

Uma imagem vale mais que mil palavras

Area
medica
Melhoramento e restauracao
Ultra-som
Tomografia
Raio-x

Reconhecimento de padr
oes
Classificacao de celulas
Identificacao de estruturas

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

7 / 34

Introduc
ao ao Processamento de Imagem

Uma imagem vale mais que mil palavras

Area
medica
Melhoramento e restauracao
Ultra-som
Tomografia
Raio-x

Reconhecimento de padr
oes
Classificacao de celulas
Identificacao de estruturas

Codificacao
Armazenamento de exames
Servidores Web para telemedicina

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

7 / 34

Introduc
ao ao Processamento de Imagem

Uma imagem vale mais que mil palavras

Area
medica
Melhoramento e restauracao
Ultra-som
Tomografia
Raio-x

Reconhecimento de padr
oes
Classificacao de celulas
Identificacao de estruturas

Codificacao
Armazenamento de exames
Servidores Web para telemedicina

Analise
Contagem de celulas
RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

7 / 34

Imagens digitais

Representac
ao

Sumario

Introducao ao Processamento de Imagem

Imagens digitais
Representacao
Tipos de imagens digitais
Espaco de cores
Pratica em Octave/Matlab
Exerccios

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

8 / 34

Imagens digitais

Representac
ao

Representacao de imagens digitais

Notacao matematica
Um grande n
umero de imagens pode ser modelado como sinais
bidimensionais
Ou seja, funcoes de duas variaveis:
x[i, j],
onde x[] representa a imagem, e i e j sao as duas variaveis
independentes.

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

9 / 34

Imagens digitais

Representac
ao

Representacao de imagens digitais

Estrutura de dados
Matrizes ou vetores

x[1, 1]
x[2, 1]

x = .
..

x[1, 2]
x[2, 2]
..
.

..
.

x[M, 1] x[M, 2]

x[1, N]
x[2, N]

..

.
x[M, N]

MN

onde x[i, j] representa um pixel (picture element) da imagem x.

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

10 / 34

Imagens digitais

Tipos de imagens digitais

Sumario

Introducao ao Processamento de Imagem

Imagens digitais
Representacao
Tipos de imagens digitais
Espaco de cores
Pratica em Octave/Matlab
Exerccios

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

11 / 34

Imagens digitais

Tipos de imagens digitais

Imagens coloridas

sitio.jpg

Caractersticas
9601280 pixels
24 bits/pixel
Mem.: 3600 kB

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

12 / 34

Imagens digitais

Tipos de imagens digitais

Imagens em tons de cinza

sitioGray.jpg

Caractersticas
9601280 pixels
8 bits/pixel
Mem.: 1200 kB

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

13 / 34

Imagens digitais

Tipos de imagens digitais

Imagens binarias

sitioBin.jpg

Caractersticas
9601280 pixels
1 bit/pixel
Mem.: 150 kB

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

14 / 34

Imagens digitais

Espaco de cores

Sumario

Introducao ao Processamento de Imagem

Imagens digitais
Representacao
Tipos de imagens digitais
Espaco de cores
Pratica em Octave/Matlab
Exerccios

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

15 / 34

Imagens digitais

Espaco de cores

Espaco de cores RGB

Caractersticas
Cada pixel:
x[i, j] = [R, G , B],
onde R, G e B codificam intensidades para o vermelho (red), verde
(green) e azul (blue), respectivamente.
Utilizado em sistemas de aquisicao de imagens, monitores e cameras
de vdeo

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

16 / 34

Imagens digitais

Espaco de cores

Espaco de cores RGB


Exemplo

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

17 / 34

Imagens digitais

Espaco de cores

Espaco de cores CMY


Caractersticas
Cada pixel:
x[i, j] = [C , M, Y ],
onde C , M e Y codificam intensidades para o ciano (cyan), magenta
(magenta) e amarelo (yellow), respectivamente.
Utilizado em sistemas de impressao
Conversao RGB - CMY (rgb2cmy):

C
1
R
M = 1 G
Y
1
B
Obs.: Os valores de R, G e B estao normalizados para a faixa entre 0
e 1.
RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

18 / 34

Imagens digitais

Espaco de cores

Espaco de cores CMY


Exemplo

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

19 / 34

Imagens digitais

Espaco de cores

Espaco de cores NTSC ou YIQ


Caractersticas
Cada pixel:
x[i, j] = [Y , I , Q],
onde Y , I e Q denotam luminancia (luz emitida), hue e saturacao,
respectivamente. Os dois u
ltimos elementos sao componentes
cromaticas.
Utilizado em sistemas de televisao
Conversao RGB - YIQ (rgb2yiq):


Y
0, 299 0, 587
0, 114
R
I = 0, 596 0, 274 0, 322 G
Q
0, 211 0.523 0, 312
B

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

20 / 34

Imagens digitais

Espaco de cores

Espaco de cores YIQ


Exemplo

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

21 / 34

Imagens digitais

Espaco de cores

Espaco de cores YCb Cr


Caractersticas
Cada pixel:
x[i, j] = [Y , Cb , Cr ],
onde Y corresponde `a luminancia (luz emitida); Cb e Cr sao
componentes cromaticas.
Utilizado em sistemas de televisao e codificacao de imagens.
Conversao RGB - YCb Cr (rgb2ycbcr):


Y
0, 29900000
0, 58700000
0, 11400000
R
Cb = 0, 16873600 0, 33126400 0, 50000000 G
Cr
0, 50000000 0, 41866800 0, 08131200
B

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

22 / 34

Imagens digitais

Espaco de cores

Espaco de cores YCb Cr


Exemplo

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

23 / 34

Imagens digitais

Espaco de cores

Espaco de cores CIELAB

Caractersticas
Cada pixel:
x[i, j] = [L , a , b ],
onde L e relacionado ao brilho; a traz informacao sobre as
componentes de vermelho e verde; e b sobre as componentes de
amarelo e azul.
Espaco de cores perceptual.

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

24 / 34

Imagens digitais

Espaco de cores

Espaco de cores CIELAB


Caractersticas
Conversao RGB - CIELAB (rgb2cielab):
L = 116f (Y /Yn ) 16
a = 500 [f (X /Xn ) f (Y /Yn )]
b = 200 [f (Y /Yn ) f (Z /Zn )]
(
q 1/3 ,
se q > 0, 008856
f (q) =
7, 787q + 16/116, outro caso


X
0, 412453 0, 357580 0, 180423
R
Y = 0, 212671 0, 715160 0, 072169 G
Z
0, 019334 0, 119193 0, 950227
B
Obs.: Xn , Yn , e Zn definem a referencia ao branco. Sao obtidos no
padrao CIE D65 fazendo R = G = B = 100.
RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

25 / 34

Imagens digitais

Espaco de cores

Espaco de cores CIELAB


Exemplo

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

26 / 34

Imagens digitais

Pr
atica em Octave/Matlab

Sumario

Introducao ao Processamento de Imagem

Imagens digitais
Representacao
Tipos de imagens digitais
Espaco de cores
Pratica em Octave/Matlab
Exerccios

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

27 / 34

Imagens digitais

Pr
atica em Octave/Matlab

Funcoes basicas
Para ler uma imagem
I = imread( nome_da_imagem.ext );
Le imagens de varios formatos.
O tamanho e a classe numerica dependem do formato da imagem. Uma
imagem colorida e retornada como uma matriz M N 3. Imagens em
tons de cinza e binarias sao de tamanho M N. O n
umero de bits por
pixel (colour depth) da imagem determina a classe numerica: uint8 ou
uint16 para imagens coloridas ou tons de cinza e logical para imagens
binarias.
Exemplos:
im1 = imread(cameraman.tif);
im2 = imread(sitio.jpg);
im3 = imread(lenat_lumi.bmp);
RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

28 / 34

Imagens digitais

Pr
atica em Octave/Matlab

Funcoes basicas

Para exibir uma imagem na tela


imshow( IM );

Exibe a imagem IM, onde IM pode ser uma matriz bidimensional (em tons
de cinza) ou tridimensional (imagem RGB).
Exemplos:
imshow( im1);
imshow( im2 );
imshow( im3 );

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

29 / 34

Imagens digitais

Pr
atica em Octave/Matlab

Funcoes basicas
Para salvar uma imagem em arquivo
imwrite (FNAME, IMG)

Salva uma imagem do Octave/Matlab para varios formatos. FNAME e o


nome do arquivo em que a imagem sera salva; IMG e a variavel que
contem a imagem.
Exemplos:
imwrite( outro_cameraman.tif, im1 );
imwrite( novo_sitio.jpg, im2 );
imwrite( lenat2.bmp, im3 );

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

30 / 34

Imagens digitais

Exerccios

Sumario

Introducao ao Processamento de Imagem

Imagens digitais
Representacao
Tipos de imagens digitais
Espaco de cores
Pratica em Octave/Matlab
Exerccios

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

31 / 34

Imagens digitais

Exerccios

Conjunto de exerccios 01

Ac
oes basicas
Carregue a imagem lenat_lumi.bmp para uma variavel no Matlab e
depois a exiba no monitor. Salve essa imagem em um arquivo do tipo
jpg (JPEG). Compare os tamanhos entre os arquivos bmp e jpg.
Espaco de cores
Implemente um algoritmo que converta uma imagem RGB para o
espaco de cores X. Calcule a energia de cada uma das componentes
RGB e de cada uma das componentes em X, onde X e:
CMY;
YCbCr;
CIELAB.

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

32 / 34

Imagens digitais

Exerccios

Conjunto de exerccios 01

Espaco de cores
Uma rotina de conversao de uma imagem RGB para tons de cinza
pode ser feita definindo cada pixel da imagem cinza como
numericamente igual `a media aritmetica das componentes RGB do
mesmo pixel na imagem colorida. Implemente e teste um sistema de
conversao baseado nessa ideia.
Faca um programa que binarize uma imagem em tons de cinza.
(Dica: defina um limiar entre 0 e 255. Os pixels maiores que o valor
de limiar passam a valer 255 e os pixels menores ou iguais ao valor de
limiar passam a valer 0). Teste o programa para diferentes valores de
limiar e verifique os efeitos.

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

33 / 34

Imagens digitais

Exerccios

Conjunto de exerccios 01

Espaco de cores
Escolha uma imagem RGB e anule uma de suas componentes (R, G,
ou B). Exiba a imagem resultante e verifique o efeito. Agora anule
duas componentes.
Faca o mesmo que no exerccio anterior com uma imagem YCbCr.
Anule primeiro ou Cb ou Cr e veja o efeito. Depois anule Y e
verifique o resultado. (Nota: as imagens modificadas devem ser
reconvertidas para RGB a fim de serem visualizadas na tela)

RFZampolo (LaPS/ITEC/UFPA)

Processamento Digital de Imagem

Abr/2009

34 / 34

You might also like