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
9×
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
9×
−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