33
Universidade Estadual de Campinas – UNICAMP Centro Superior de Educa¸ ao Tecnol´ ogica – CESET Processamento Digital de Imagens - ST061 Prof.: Marco Antonio Garcia de Carvalho Agosto 2004 Campinas, SP - Brasil

Processamento Digital de Imagens - ST061 Prof.: Marco ...magic/pdi/apostila_pdiceset.pdf · 2.2.1 Modelo de cˆamera ... • As t´ecnicas de PDI tem por objetivo melhorar a informa¸c˜ao

  • Upload
    voanh

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Universidade Estadual de Campinas – UNICAMP

Centro Superior de Educacao Tecnologica – CESET

Processamento Digital de Imagens - ST061Prof.: Marco Antonio Garcia de Carvalho

Agosto 2004Campinas, SP - Brasil

Sumario

1 Introducao ao processamento digital de imagens 31.1 Fundamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Representacao de imagens digitais . . . . . . . . . . . . . . . . . . . . . . . 31.3 Sistema de processamento de imagens digitais . . . . . . . . . . . . . . . . 4

1.3.1 Aquisicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3.2 Armazenamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3.3 Processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3.4 Comunicacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3.5 Exibicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Fundamentos de Imagens Digitais 72.1 Relacionamento basico entre pixels . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1 Vizinhos de um pixel . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.2 Conectividade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.3 Rotulacao de componentes conexos . . . . . . . . . . . . . . . . . . 72.1.4 Medidas de distancia . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Modelo de camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.1 Modelo de camera - transformacoes de perspectiva . . . . . . . . . . 92.2.2 Modelo de camera - Imageamento estereo . . . . . . . . . . . . . . . 10

2.3 Transformacoes geometricas . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3.1 Translacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3.2 Rotacao - Eixo z . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3.3 Mudanca de escala . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3.4 Ampliacao e reducao (zoom in e zoom out) . . . . . . . . . . . . . . 112.3.5 Espelhamento (flip) . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Processamento de histograma 133.1 Calculo do histograma de uma imagem . . . . . . . . . . . . . . . . . . . . 133.2 Equalizacao de histograma . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 Realce de Imagens 174.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2 Fundamento matematicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2.1 Convolucao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2.2 Transformada de Fourier . . . . . . . . . . . . . . . . . . . . . . . . 18

5 Filtragem de imagens via operacao de convolucao 205.1 Filtragem passa-baixa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.2 Filtragem por mediana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.3 Filtragem passa-alta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215.4 Deteccao de pontos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5.5 Deteccao de bordas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

6 Estatısticas 236.1 Maximo e mınimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.2 Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.3 Desvio padrao e variancia . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.4 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.5 Correlacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.6 Relacao Sinal-Ruıdo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

7 Segmentacao de imagens 257.1 Deteccao de descontinuidade . . . . . . . . . . . . . . . . . . . . . . . . . . 25

7.1.1 Deteccao de pontos . . . . . . . . . . . . . . . . . . . . . . . . . . . 257.1.2 Deteccao de linhas . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

7.2 Limiarizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267.3 Segmentacao orientada a regioes . . . . . . . . . . . . . . . . . . . . . . . . 26

7.3.1 Crescimento de regioes . . . . . . . . . . . . . . . . . . . . . . . . . 27

8 Representacao e descricao de imagens 298.1 Representacao: Esqueleto de uma regiao . . . . . . . . . . . . . . . . . . . 298.2 Descricao: descritores simples de fronteiras e regioes . . . . . . . . . . . . . 30

Bibliografia 32

ST061

1 Introducao ao processamento digital de imagens

1.1 Fundamentos

• As tecnicas de PDI tem por objetivo melhorar a informacao visual para a analise einterpretacao humanas.

• Primeiras tecnicas de PI: melhoramento de imagens digitalizadas para jornais envi-adas de Londres para New York (decada de 20).

• Melhora da qualidade visual das imagens: impressao e distribuicao de nıveis de brilho.

• Processamento digital: iniciado pelo Jet Propulsion Lab, 1964, com imagens da Lua.

• Aplicacoes na medicina (raios X, MRI), geografia (clima, poluicao), arqueologia(correcao de imagens borradas, montagem de quebra-cabecas com o objetivos anti-gos), fısica, biologia, aplicacoes industriais etc.

• A Figura 1 apresenta alguns exemplos de aplicacoes de diversas tecnicas de proces-samento digital de imagens

• O processamento digital de imagens abrange uma ampla escala de hardware, softwaree fundamentos teoricos.

1.2 Representacao de imagens digitais

• Uma imagem e uma funcao bidimensional de intensidade da luz f (x, y), onde xe y denotam as coordenadas espaciais e o valor de f em qualquer ponto (x, y) eproporcional ao brilho (nıvel de cinza) da imagem naquele ponto.

• A convencao e atribuir proporcionalmente valores mais altos para areas de maiorbrilho.

• Uma imagem digital pode ser considerada uma matriz cujos ındices de linhas e colunasidentificam um ponto na imagem, como mostra a Figura 2, e o correspondente valordo elemento identifica o nıvel de cinza naquele ponto.

• Os elementos dessa matriz sao chamados de pixels ou pels (pictures elements).

• O tamanho das imagens varia de acordo com a aplicacao. Contudo, e interessantetrabalhar com matrizes quadradas com nıveis de cinza que sejam potencias inteirasde 2.

Processamento Digital de Imagens 3

ST061

(a) (b)

(c) (d)

(e) (f)

Figura 1: Aplicacoes em processamento digital de imagens.

1.3 Sistema de processamento de imagens digitais

• Uma sequencia tıpica de procedimentos em um sistema de processamento de imagense mostrada na Figura 3[4].

• Os elementos de um sistema de proposito geral capaz de desempenhar as operacoesde PDI sao: aquisicao, armazenamento, processamento, comunicacao e exibicao.

1.3.1 Aquisicao

• Converte a imagem para uma representacao numerica adequada as etapas posterioresdo sistema.

• E necessario um sensor para imageamento (sensıvel a uma banda do espectro deenergia eletromagnetica) e de um digitalizador (converta o sinal fısico para a formadigital).

Processamento Digital de Imagens 4

ST061

Figura 2: Convencao dos eixos para representacao de imagens digitais.

Figura 3: Uma sequencia de passos em sistemas de processamento digital de imagens.

Processamento Digital de Imagens 5

ST061

• Por exemplo, em um sistema de raios X, o meio que recebe a fonte de raios X que passapor um corpo ou objeto e um filme (poderia ser um CCD — Dispositivo de CargaAcoplada). Uma imagem digital e obtida ao se permitir apenas valores discretos deintensidade de luz e de posicao.

1.3.2 Armazenamento

• Uma das classificacoes na forma de armazenamento e: curto tempo (uso durante oprocessamento), on-line (acesso rapido) e em arquivo (acesso menos frequente).

• O armazenamento e medido em bytes. Por exemplo, uma imagem de 8 bits comresolucao de 1024 x 1024 pixels, requer um milhao de bytes para seu armazenamento.

• Frame-buffer e um tipo de memoria computacional de curto tempo, na qual umaimagem pode ser acessada de forma rapida, em taxas de tempo de vıdeo.

1.3.3 Processamento

• Envolve procedimentos que sao geralmente expressos em forma algorıtmica; a maio-ria, implementada em software.

• O processamento de imagens e caracterizado por solucoes especıficas. Tecnicas quefuncionam bem em uma area podem se mostrar inadequadas em outra area. Portanto,ha espaco para bastante pesquisa.

1.3.4 Comunicacao

• Comunicacao entre sistemas — transmissao: desafio quanto a velocidade de trans-missao e qualidade das imagens enviadas.

• O problema torna-se ainda mais complicado quando deseja-se transmitir sequenciasde vıdeo (imagens em movimento com audio associado).

1.3.5 Exibicao

• Os principais dispositivos de saıda sao os monitores de computadores. A resolucaoespacial dos monitores e normalmente especificada em pontos por polegada (dots perinch — dpi). Um valor tıpico de resolucao e 72dpi, sendo que uma tela de TV temresolucao na faixa de 40dpi [2].

• Existem diversas formas de reproducao em papel. A melhor e a reproducao fo-tografica. Uma alternativa e o uso da tecnica de halftoning que consiste, basica-mente, em imprimir pontos escuros de diferentes tamanhos espacados de tal maneiraa reproduzir a ilusao de tons de cinza.

Processamento Digital de Imagens 6

ST061

2 Fundamentos de Imagens Digitais

2.1 Relacionamento basico entre pixels

• Nas secoes seguintes, uma imagem sera representada por I (i, j).

2.1.1 Vizinhos de um pixel

• Um pixel p de coordenadas (i, j), tem quatro vizinhos horizontais e verticais cujascoordenadas sao(i + 1, j) , (i− 1, j) , (i, j + 1) , (i, j − 1)

• O conjunto de vizinhos acima e denominado de vizinhanca-4 de p e representado porN4 (p). Acrescentando os vizinhos das diagonais, determina-se a vizinhanca-8 de p,denotado por N8 (p).

2.1.2 Conectividade

• Para dizer que dois pixels sao conectados e preciso determinar se eles sao adjacentes(vizinhanca-4, por exemplo) e se seus nıveis de cinza satisfazem um certo criterio desimilaridade (se sao iguais, por exemplo).

• Por exemplo, em uma imagem binaria com intensidades 0 e 1, dois pixels podem serN4 (p), mas eles nao sao conectados (precisariam ter o mesmo valor).

2.1.3 Rotulacao de componentes conexos

• A habilidade de atribuir rotulos diferentes a componentes conexos disjuntos de umaimagem e de fundamental importancia em visao computacional.

• Um algoritmo simples e sequencial de rotulacao de uma imagem e explicado abaixoatraves de um conjunto de passos.

1. A imagem deve ser percorrida pixel por pixel, da esquerda para direita e decima para baixo.

2. Assumiremos vizinhanca N4 (p).

3. Sejam os vizinhos superior e esquerdo de p representados por s e e, respectiva-mente.

4. Se o valor de p e 0, siga para a proxima posicao.

5. Se o valor de p e 1, examine s e e: (a) se ambos forem iguais a zero, atribua ap um novo rotulo; (b) se apenas um dos vizinhos de p for igual a 1, atribua a po seu rotulo; (c) se ambos forem 1 e possuem o mesmo rotulo, atribua a p esterotulo; (d) se ambos forem 1, mas possuem rotulo diferentes, atribua um dosrotulos a p e anote que os dois rotulos sao equivalentes (os pontos s e e estaoconectados por p).

Processamento Digital de Imagens 7

ST061

6. Ao final da varredura, todos os pixels com valor 1 terao sido rotulados, mas al-guns destes rotulos poderao ser equivalentes. Portanto, e necessario reorganizaros rotulos equivalentes em valores iguais.

• A Figura 4 mostra um processo de rotulacao para uma imagem sintetica de 7 linhase 6 colunas.

Figura 4: Processo de rotulacao: (a) imagem original com blobs ; (b) imagem digital; (c)imagem rotulada.

2.1.4 Medidas de distancia

• Seja tres pixels p, q e z, D e uma funcao distancia (ou metrica) se:(a) D (p, q) ≥ 0 (D (p, q) = 0 se p = q)(b) D (p, q) = D (q, p)(c) D (p, z) ≤ D (p, q) + D (q, z)

• A distancia D4, tambem chamada de quarteirao, entre p e q e definida como

D4 (p, q) = |x− s|+ |y − t| (1)

onde (x, y) e (s, t) sao as coordenadas de p e q, respectivamente. Por exemplo, sepegarmos os pixels com D4 ≤ 2 a seguinte figura e formada (com relacao a um pontocentral)

22 1 2

2 1 0 1 22 1 2

2

• Outra medida de distancia conhecida como xadrez ou D8, e definida como:

D8 (p, q) = max (|x− s| , |y − t|) (2)

Processamento Digital de Imagens 8

ST061

Por exemplo, se pegarmos os pixels com D8 ≤ 2 a seguinte figura e formada (comrelacao a um ponto central)

2 2 2 2 22 1 1 1 22 1 0 1 22 1 1 1 22 2 2 2 2

2.2 Modelo de camera

2.2.1 Modelo de camera - transformacoes de perspectiva

• Uma transformacao perspectiva projeta pontos 3D em um plano, como mostra aFigura 5. Observe que o sistema de coordenadas da camera esta alinhado com osistema de coordenadas do mundo.

Figura 5: Modelo basico de processamento de imagens. Apresenta os sistemas de coorde-nadas da camera (x, y, z) e do mundo (X, Y, Z) [1].

• A relacao que fornece as coordenadas (x, y) da projecao do ponto (X, Y, Z) sobre oplano da imagem e dada por semelhanca de triangulos.

x

d= − X

Z − d(3)

y

d= − Y

Z − d(4)

Processamento Digital de Imagens 9

ST061

Portanto, as equacoes acima podem ser escritas da seguinte forma

x =dX

d− Z(5)

y =dY

d− Z(6)

2.2.2 Modelo de camera - Imageamento estereo

• No modelo de transformacao perspectiva visto na secao anterior, a informacao deprofundidade e perdida quando o ponto (X, Y, Z) e imageado no plano da imagem.

• Entretanto, essa informacao pode ser recuperada atraves do uso de tecnicas de im-ageamento estereo, com base no modelo mostrado na Figura 6.

Figura 6: Modelo do processo de imageamento estereo[1].

• O procedimento consiste em se obter duas vistas para um mesmo objeto (ponto w,neste exemplo). A distancia entre os centros das lentes B e chamada de linha debase. O objetivo e determinar as coordenadas (X, Y, Z) do ponto w, tendo (x1, y1) e(x2, y2).

• Assume-se que as cameras sao identicas e que os sistemas de coordenadas coordenadasde ambas as cameras estejam alinhados.

• As equacoes de X, Y seguem diretamente deduzidas como na secao anterior. ParaX, as equacoes sao:

X1 =x1

d(d− Z1) (7)

X2 =x2

d(d− Z2) (8)

Processamento Digital de Imagens 10

ST061

• A coordenada Z e a mesma para ambos os sistemas de coordenadas e dada por:

Z = d− dB

x2 − x1

(9)

• A tarefa mais difıcil no uso da equacao acima consiste em determinar dois pontoscorrespondentes em imagens diferentes da mesma cena.

2.3 Transformacoes geometricas

• Trabalharemos com coordenadas homogeneas. As operacoes sao feitas da seguinteforma: P1 = O · P , onde O e a transformacao que se deseja efetuar, P e P1 corre-spondem as coordenadas do ponto antes e apos a transformacao, respectivamente.

2.3.1 Translacao

T =

1 0 0 dx

0 1 0 dy

0 0 1 dz

0 0 0 1

2.3.2 Rotacao - Eixo z

Rz (θ) =

cosθ −senθ 0 0senθ cosθ 0 0

0 0 1 00 0 0 1

2.3.3 Mudanca de escala

S =

Sx 0 0 00 Sy 0 00 0 Sz 00 0 0 1

2.3.4 Ampliacao e reducao (zoom in e zoom out)

• As dimensoes de uma imagem sao aumentadas ou diminuıdas para efeito de visual-izacao. por exemplo, para um fator 2, o processo de ampliacao pode ser demonstradopela Figura 7.

2.3.5 Espelhamento (flip)

• Combina rotacoes por angulos multiplos de 90◦ sob a imagem transposta:(a) Flip horizontal - Rotacao de 90◦ (AH) sob a transposta;(b) Flip vertical - Rotacao de 90◦ (H) sob a transposta

Processamento Digital de Imagens 11

ST061

Figura 7: Ampliacao por um fator 2. Cada pixel na imagem (a) corresponde a 4 na imagem(b)[2]. O processo inverso produz a reducao da imagem.

Figura 8: Exemplo de espelhamento: (a) imagem original; (b) flip horizontal de (a); (c)Flip vertical de (a)[2].

Processamento Digital de Imagens 12

ST061

3 Processamento de histograma

• O histograma de uma imagem com nıveis de cinza no intervalo entre [0, L− 1] euma funcao discreta p (rk) = nk/n, em que rk e o k-esimo nıvel de cinza (k =0, 1, 2, . . . L − 1), nk e o numero de pixels na imagem com este nıvel de cinza e ncorresponde ao numero total de pixels na imagem.

• Um grafico dessa funcao fornece uma descricao global da aparencia desta imagem,como mostra a Figura 9. E possıvel obter uma indicacao da qualidade do contrastee brilho medio (imagem predominantemente clara ou escura).

Figura 9: Exemplos de histogramas de imagens: (a) Imagem original Pout e seu histogra-ma; (b) Imagem original Tire e seu histograma; (c) Imagem original Bone marrow e seuhistograma.

3.1 Calculo do histograma de uma imagem

• Um exemplo de obtencao do histograma de uma imagem de 8 × 8 com 8 nıveis decinza e dado na Figura 10 e Tabela 1.

Processamento Digital de Imagens 13

ST061

Nıvel de cinza rk Nıvel de cinza normalizado nk p (rk)

0 0 28 0,43751 1/7 12 0,18752 2/7 8 0,1253 3/7 8 0,1254 4/7 4 0,06255 5/7 2 0,031256 6/7 2 0,031257 1 0 0

Total 64 1

Tabela 1: Valores para o calculo do histograma da imagem mostrada na Figura 10.

Figura 10: Calculo do histograma de uma imagem:(a) imagem original; (b) histogramacorrespondente.

Processamento Digital de Imagens 14

ST061

3.2 Equalizacao de histograma

• Tecnica a partir da qual se procura redistribuir os valores de tons de cinza dos pixelsem uma imagem de modo a obter um histograma mais uniforme.

• Utiliza-se o conceito de transformacao de intensidade. Seja um nıvel de cinza rk,usaremos uma transformacao do tipo

sk = T (rk) (10)

onde sk e o novo tom de cinza na imagem destino. A transformacao mais usual parase equalizar um histograma e atraves da funcao de distribuicao acumulada (cdf -cumulative distribution function) [2], expressa por:

sk =k∑

j=0

p (rj) (11)

onde 0 ≤ rk ≤ 1 e k = 0, 1, 2, . . . , L− 1.

• No exemplo numerico da Figura 10, aplicando-se a transformacao de intensidade daEquacao 11, produz-se a equalizacao apresentada na Figura 11.

Figura 11: Equalizacao do histograma da imagem da Figura 10:(a) imagem apos transfor-macao; (b) histograma equalizado.

• A Figura 12 apresenta alguns exemplos de equalizacao para as imagens da Figura 9.

Processamento Digital de Imagens 15

ST061

Figura 12: Exemplos de equalizacao de histogramas para as imagens da Figura 9: (a)Imagem Pout e seu histograma equalizado; (b) Imagem Tire e seu histograma equalizado;(c) Imagem Bone marrow e seu histograma equalizado.

Processamento Digital de Imagens 16

ST061

4 Realce de Imagens

4.1 Introducao

• O objetivo e processar uma imagem de modo que o resultado seja mais adequadopara a aplicacao em questao.

• Um classificacao ampla das tecnicas de realce de imagens consiste em: metodos nodomınio espacial e metodos no domınio espectral.

• As tecnicas classificadas no domınio espacial operam diretamente sobre a matriz dospixels que representa a imagem. Podem ser divididas em tecnicas de procssamentoponto-a-ponto e de processamento por mascara.

• As tecnicas classificadas como de domınio da frequencia sao baseadas na modificacaoda transformada de Fourier da imagem.

4.2 Fundamento matematicos

4.2.1 Convolucao

• Uma relacao entre entrada-saıda e chamada de sistema se existe uma unica saıdapara uma dada entrada. Essa relacao e dada na Figura 13.

Figura 13: Um sistema: relacao entre a entrada x (n1, n2) e a saıda y (n1, n2). T [] representauma transformacao qualquer.

• A relacao entre entrada e saıda e dada por

y (n1, n2) = T [x (n1, n2)] (12)

• Para sistemas lineares invariantes no tempo (SLIT), a equacao acima pode ser ree-scrita da seguinte forma

y (n1, n2) =∞∑

k1=−∞

∞∑k2=−∞

x (k1, k2) T [δ (n1 − k1, n2 − k2)] (13)

ou

y (n1, n2) =∞∑

k1=−∞

∞∑k2=−∞

x (k1, k2) h (n1 − k1, n2 − k2) (14)

Processamento Digital de Imagens 17

ST061

onde

h (n1 − k1, n2 − k2) = T [δ (n1 − k1, n2 − k2)] (15)

e δ (n1, n2) e a funcao impulso definida abaixo.

δ (n1, n2) =

{1, n1 = n2 = 00, caso contrario

• A Equacao 16 e conhecida como convolucao e denotada pelo operador *, ou seja

y (n1, n2) = x (n1, n2) ∗ h (n1, n2) (16)

• Exemplo 1 — Fazer a convolucao entre x e h dados na Figura 14.

Figura 14: Exemplo de convolucao. Determine o valor da saıda y (n1, n2).

4.2.2 Transformada de Fourier

• A operacao que transforma um sinal para sua representacao via componentes defrequencia e denominada de Transformada (Fourier, wavelet, Z).

• O par de transformadas discretas de Fourier para o caso 2D e dado por

F (u, v) =1

MN

M−1∑x=0

N−1∑y=0

f (x, y) exp [−j2π (ux/M + vy/N)] (17)

onde u = 0, 1, 2, . . . ,M − 1 e v = 0, 1, 2, . . . , N − 1 e

f (x, y) =M−1∑u=0

N−1∑v=0

F (u, v) exp [j2π (ux/M + vy/N)] (18)

• Frequentemente, a transformada de Fourier e expressada na forma exponencial, ouseja,

F (u, v) = |F (u, v)| ejθ(u,v) (19)

Processamento Digital de Imagens 18

ST061

• A funcao magnitude |F (u, v)| e chamada de espectro de Fourier e θ (u, v), angulo defase.

• O quadrado do espectro |F (u, v)|2 e chamado de espectro de potencia ou densidadeespectral.

• A imagem mostrada na Figura 15 apresenta um exemplo de transformada de Fourier.

Figura 15: Exemplo de transformada de Fourier: (a) imagem original lena; (b) espectrode Fourier de (a).

• Existe uma relacao basica entre a transformada de Fourier e a convolucao, importantepara a compreensao das tecnicas de PDI:

f (x, y) ∗ h (x, y) ⇔ F (u, v) H (u, v) (20)

• Transformada Rapida de Fourier (FFT - Fast Fourier Transform) — AFFT e um algoritmo que reduz a quantidade de operacoes necessarias para o calculoda Transformada de Fourier. A complexidade cai de N2 para Nlog2N . Por exemplo,suponha que se deseja calcular a Transformada de Fourier de um vetor de 8192elementos: se o tempo de processamento em uma maquina qualquer fosse 5s usandoa FFT, a mesma maquina levaria cerca de 600 vezes mais tempo para realizar omesmo calculo sem esta tecnica.

Processamento Digital de Imagens 19

ST061

5 Filtragem de imagens via operacao de convolucao

• A operacao e feita diretamente sobre os valores dos pixels na imagem (chamado defiltragem no domınio espacial).

• A metodologia basica consiste na operacao de convolucao, estudada no Capıtuloanterior.

5.1 Filtragem passa-baixa

• Sao filtros que suavizam os contornos das imagens. Sao usados para borramento ereducao de ruıdo.

• O filtro tem que possuir todos os coeficiente positivos. Exemplos de mascaras de doistamanhos diferentes sao dadas abaixo.

1

1 1 11 1 11 1 1

1

25×

1 1 1 1 11 1 1 1 11 1 1 1 11 1 1 1 11 1 1 1 1

• Um exemplo de filtragem passa-baixa e dado na Figura 16.

Figura 16: (a) imagem original; (b) imagem filtrada via passa-baixa (observe que as raiasficaram borradas).

5.2 Filtragem por mediana

• Quando deseja-se reduzir o ruıdo, uma opcao mais adequada e a filtragem por medi-ana. A operacao consiste em substituir o nıvel de cinza de cada pixel pela medianados nıveis de cinza da vizinhanca daquele pixel (esse tipo de filtro e nao-linear).

Processamento Digital de Imagens 20

ST061

• A mediana m de um conjunto de valores e tal que metade dos valores no conjuntosao menores que m e na outra metade, maiores do que m.

• Ex.: Qual a mediana do conjunto {10, 20, 20, 20, 15, 20, 20, 25, 100}?

• Um exemplo de filtragem por mediana e dado na Figura 17.

Figura 17: (a) imagem original; (b) imagem corrompida; (c) imagem filtrada (mediana -vizinhanca 3× 3).

5.3 Filtragem passa-alta

• Enfatiza detalhes finos ou realca imagens que tenham sido borradas.

• A imagem podera vir a ter alguns nıveis de cinza negativo, de modo que e ncessarioum cliping ou uma mudanca de escala. Um exemplo de filtro passsa-alta e dadoabaixo.

1

−1 −1 −1−1 8 −1−1 −1 −1

• Um exemplo de filtragem passa-alta e dado na Figura 18.

Figura 18: (a) imagem original saturno; (b) imagem filtrada via passa-alta.

Processamento Digital de Imagens 21

ST061

5.4 Deteccao de pontos

• A mascara abaixo destacara pixels brilhantes rodeados de pixels mais escuros. −1 −1 −1−1 8 −1−1 −1 −1

5.5 Deteccao de bordas

• Borda e a fronteira entre duas regioes, cujos nıveis de cinza predominantes sao consid-eravelmente diferentes. A seguir, sao apresentados diversas mascaras para deteccaode bordas horizontais e verticais.Sobel (vertical e horizontal) −1 0 1

−2 0 2−1 0 1

,

−1 −2 −10 0 01 2 1

Prewitt (vertical e horizontal) −1 0 1

−1 0 1−1 0 1

,

−1 −1 −10 0 01 1 1

Roberts (vertical e horizontal) 0 0 −1

0 1 00 0 0

,

−1 0 00 1 00 0 0

• Um exemplo de deteccao de borda usando Sobel e dado na Figura 19.

Figura 19: (a) imagem original; (b) deteccao de borda via Sobel.

Processamento Digital de Imagens 22

ST061

6 Estatısticas

• Em processamento de imagens, e muito comum usar estatıstica para descrever im-agens ou partes de uma imagem. A seguir, apresento algumas estatısticas bastanteusadas em PDI.

• Um exemplo da utilizacao de alguns parametros estatısticos e dado na Figura 20.

6.1 Maximo e mınimo

• Maiores e menores valores de intensidade de luz presentes na imagem.

6.2 Media

• A luminosidade media m de uma imagem I e definida como

m = E [I (i, j)] =1

N

∑i,j∈<

I (i, j) (21)

Onde N e o numero total de pixels da imagem. Alternativamente, pode-se usar ohistograma para calcular a media.

6.3 Desvio padrao e variancia

• Variacao da intensidade luminosa com relacao a media. Da uma ideia do contrastena imagem.

σ2 = E[|I (i, j)−m|2

](22)

6.4 Mode

• O valor de intensidade de luz mais frequente na imagem.

6.5 Correlacao

• A correlacao entre duas funcoes f (i, j) e g (i, j), denotada por f (i, j)◦g (i, j), e dadapor:

f (i, j) ◦ g (i, j) =1

MN

M−1∑m=0

N−1∑n=0

f ∗ (m, n) g (i + m, j + n) (23)

• A operacao de correlacao e semelhante a convolucao. A diferenca e que g (i, j) nao erefletida em torno da origem.

• Se f (i, j) e g (i, j) forem iguais, a operacao passa a ser chamada de autocorrelacao.Para funcoes diferentes, o termo correlacao cruzada tambem e utilizado na literatura.

Processamento Digital de Imagens 23

ST061

6.6 Relacao Sinal-Ruıdo

• A relacao sinal-ruıdo (SNR — Signal-to-Noise Ratio) pode ter varias definicoes.Abaixo, apresento duas definicoes: A primeira, utilizada quando se conhece queo sinal pertence a faixa amin ≤ a ≤ amax; A segunda, caso o sinal nao seja limitadoe se possua a distribuicao estatıstica do mesmo.

SNR = 20log10

(amax − amin

σ

)(24)

eSNR = 20log10

(m

σ

)(25)

Figura 20: (a) imagem original; (b) alguns parametros estatısticos para a imagem completae para a regiao de interesse (ROI — region of interest) circulada.

Processamento Digital de Imagens 24

ST061

7 Segmentacao de imagens

• Geralmente, o primeiro passo em analise de imagens e a segmentacao. A segmen-tacao subdivide uma imagem em suas parte ou objetos constituintes. Veja algumasdefinicoes de segmentacao:- Segmentacao e o processo de dividir a imagem em regioes conexas e homogeneas(Salembier,1993),(Vachier,1995);- O objetivo da segmentacao e de reagrupar em regioes elementos que possuem atrib-utos similares (Agnus, 2001);- As tecnicas de segmentacao tem como finalidade produzir uma particao da imagemtao proxima quanto possıvel daquela feita pelo olho humano (Gomila,2001).

• Os algoritmos de segmentacao sao baseados em duas propriedades: descontinuidade(deteccao de pontos isolados, linhas e bordas) e similaridade (limiarizacao e cresci-mento de regioes).

7.1 Deteccao de descontinuidade

A teoria envolvendo este topico foi discutida no capıtulo sobre Filtragem de imagens. Aseguir, acrescento alguns tipos de filtros e conceitos.

7.1.1 Deteccao de pontos

• Apos usada a mascara de filtragem, um ponto e detectado se:

|R| > T

onde T e um limiar nao-negativo e R e dado pela equacao:

R = w1z1 + w2z2 + · · ·w9z9 =9∑

i=1

wizi (26)

tal que wi sao os coeficientes do filtro 3× 3 e zi, os nıveis de cinza da imagem.

7.1.2 Deteccao de linhas

• Abaixo, exemplos de mascaras para deteccao de linhas a +45◦ e −45◦, respectiva-mente. −1 −1 2

−1 2 −12 −1 −1

e

2 −1 −1−1 2 −1−1 −1 2

• Apos a convolucao, deve ser feita a limiarizacao, como descrita na Secao anterior e

melhor definida na proxima Secao.

Processamento Digital de Imagens 25

ST061

7.2 Limiarizacao

• Na Figura 21 sao mostrados 2 diferentes histogramas Qual a analise que pode serfeita com base nesses histogramas?

Figura 21: Limiarizacao — analise de histogramas.

• A limiarizacao e uma operacao que envolve testes de uma funcao f (x, y). A limi-arizacao de uma imagem g (x, y) e definida como:

g (x, y) =

{1 se f (x, y) > T0 se f (x, y) ≤ T

• Um exemplo de binarizacao de imagens e dada na Figura 22. De que forma poderıamosremover os pequenos pontos brancos?

(a) (b)

Figura 22: Exemplo de limiarizacao: (a) imagem original; (b) imagem binarizada comT = 180.

7.3 Segmentacao orientada a regioes

• Define as regioes diretamente na imagem, sem antes realizar outra operacao (bina-rizacao, por exemplo).

Processamento Digital de Imagens 26

ST061

7.3.1 Crescimento de regioes

• Agrupa pixels ou sub-regioes em regioes maiores. O processo mais simples comecacom um conjunto de pontos sementes, anexando paulatinamente os outros pixels daimagem, caso alguma propriedade destes seja similar a da semente.

• Exemplos de criterios de similaridade: nıvel de cinza, cor e textura. A quantidadede regioes da imagem correspondera a quantidade de sementes.

• Veja um exemplo da tecnica de crescimento de regiao mostrada na Tabela 2 abaixo.

1 2 3 4 5

1 0 0 5 6 72 1 1 5 8 73 0 1 6 7 74 2 0 7 6 65 0 1 5 6 5

Tabela 2: Imagem I — aplicacao da tecnica de crescimento de regioes utilizando o criterioda diferenca absoluta entre os nıveis de cinza do pixel e da semente menor que um dadolimiar T : (a) para T = 3; (b) para T = 8. Defina que qualquer pixel que satisfaca essapropriedade para ambas a sementes, sera atribuıdo a Regiao R1. As sementes sao os pontos(3, 2) e (3, 4).

• Dois problemas enfrentados por este tipo de tecnica sao: a escolha da(s) semente(s)e a escolha da(s) propriedade(s).

• A selecao de criterios de similaridade e das sementes dependem do problema e dotipo de imagem disponıvel. Por exemplo, para imagens provenientes de satelite paralevantamento de terrenos, a cor e um aspecto importante. Em aplicacoes militaresde imageamento infravermelho (ou de controle de temperatura para deteccao daFebre Asiatica), a escolha de pixels mais claros e uma maneira natural de iniciar umalgoritmo de crescimento de regioes.

• Sejam as imagens dadas na Figura 23, analise a segmentacao com base em algoritmosde crescimento de regioes.

Processamento Digital de Imagens 27

ST061

(a) (b)

(c) (d)

(e) (f)

Figura 23: Exemplos de segmentacao de imagens: (a),(b) imagem de levedura originale segmentada; (c),(d) imagem cameraman original e segmentada; (e) graos de arroz; (f)bifao.

Processamento Digital de Imagens 28

ST061

8 Representacao e descricao de imagens

• Apos a segmentacao, o passo seguinte consiste na representacao e descricao do con-teudo para permitir o processamento subsequente.

• As regioes sao representadas atraves de suas caracterısticas externas (fronteiras) ouinternas (pixels que compoem a regiao). A descricao refere-se, por exemplo, a escolhade uma caracterıstica da fronteira da regiao (tamanho, numero de concavidades).

8.1 Representacao: Esqueleto de uma regiao

• A reducao da representacao estrutural de uma regiao planar e realizada obtendo-seo esqueleto da regiao atraves de um algoritmo de afinamento (esqueletizacao).

• A esqueletizacao cumpre um papel importante em visao computacional, sobretudonas tarefas de reconhecimento de padroes. Exemplos incluem o reconhecimento deimpressoes digitais e de caracteres.

• O esqueleto de uma regiao e definido pela transformacao do eixo medio (MedialAxis Transform — MAT — Blum,1967). O esqueleto e obtido sobre a imagem datransformada distancia da regiao R a ser afinada. Dado um pixel p de R, se elefor equidistante da borda B da imagem, ele pertence ao eixo medio (esqueleto).A Figura 24 apresenta alguns esqueletos de imagens (trabalharemos somente comimagens binarias).

Figura 24: Esqueletos de imagens: (a) exemplos; (b) calcular o esqueleto desta imagemdigital.

• A implementacao direta do MAT e muito custosa computacionalmente. Portanto,novos algoritmos surgiram a fim de calcular o esqueleto de uma imagem. O processoconsiste em apagar paulatinamente os pontos de borda, respeitando as caracterısticas:(a) nao deve remover pontos extremos; (b) nao deve quebrar da conectividade; (c)ter cuidado com a erosao excessiva da regiao.

• A seguir e descrito um algoritmo para o afinamento de regioes binarias (vizinhanca 8,conforme ilustra a Figura 25(a)). O algoritmo consiste na aplicacao, a cada iteracao,de duas etapas:

Processamento Digital de Imagens 29

ST061

1a. etapa: O ponto de contorno p1 deve ser eliminado se as seguintes condicoesforem satisfeitas:(a) 2 ≤ N (p1) ≤ 6; (numero de vizinhos nao nulos de p1)(b) S (p1) = 1; (numero de transicoes 0-1 na sequencia ordenada p2, p3, . . . p9, p2)(c) p2 · p4 · p6 = 0(d) p4 · p6 · p8 = 02a. etapa: As condicoes (a) e (b) continuam as mesmas, mas (c) e (d) mudam para:(cc) p2 · p4 · p8 = 0(dd) p2 · p6 · p8 = 0

• A 1a. etapa deve ser aplicada a cada pixel da borda. Caso o ponto da bordasatisfaca as 4 condicoes, ele sera apagado. Em seguida, a 2a. etapa deve ser aplicada,consistindo em uma iteracao do algoritmo.

Figura 25: (a) Vizinhanca 8 - notacao; (b) aplicar o algoritmo de afinamento para estaletra.

8.2 Descricao: descritores simples de fronteiras e regioes

Processamento Digital de Imagens 30

ST061

Fronteiras

• Descritores simples: comprimento do contorno; eixos maiores e menores; curvatura(taxa de inclinacao).

• Codigo da cadeia: baseia-se na conectividade 4 ou 8 (Figura 26(a),(b)); efetua aanalise dos segmentos de reta que compoem o contorno.

Figura 26: Direcoes do codigo da cadeia: (a) Vizinhanca 4; (b) Vizinhanca 8; (c) qual ocodigo da cadeia deste contorno?.

Regioes

• Descritores simples: area, perımetro, compacidade (definida como o quadrado doperımetro sobre a area), eixos principais, fator de forma, estatısticas dos nıveis decinza.

• Descritores topologicos (propriedades que nao se alteram apos deformacoes ou outroprocessamento): numero de buracos, numero de componentes conexos, numero deEuler E (veja a Figura 27).

• Tambem podem ser usados como descritores as texturas, Transformada de Fourier,algumas operacoes de morfologia matematica etc.

Figura 27: Descritores topologicos.

Processamento Digital de Imagens 31

ST061

Referencias

[1] R.C. Gonzalez, R.E. Woods. Processamento de imagens digitais (versao traduzida).Sao Paulo: Editora Edgard Blucher, 2000.

[2] O. M. Filho, H. V. Neto. Processamento Digital de Imagens. Rio de Janeiro: EditoraBrasport, 1999.

[3] J. S. Lim. Two Dimensional Signal and Image Processing, New Jersey: Prentice Hall,1990.

[4] A. K. Jain. Fundamentals of Digital Image Processing. New Jersey, Prentice Hall,1989.

[5] J. Serra. Image Analysis and Mathematical Morphology. Editora Academic Press,1982.

[6] C. M. Thompson, L. Shure. Image Processing Toolbox for use with MATLAB, TheMath Works, 1995.

[7] J. Gomes, L. Velho. Computacao Grafica : Imagem, Rio de Janeiro: IMPA/SBM,1994.

Processamento Digital de Imagens 32