Processamento Digital de Imagens

Transcrição

Processamento Digital de Imagens
Universidade Estadual de Campinas – UNICAMP
Centro Superior de Educação Tecnológica – CESET
Processamento Digital de Imagens - ST061
Prof.: Marco Antonio Garcia de Carvalho
Agosto 2004
Campinas, SP - Brasil
Sumário
1 Introdução ao processamento digital de imagens
1.1 Fundamentos . . . . . . . . . . . . . . . . . . . .
1.2 Representação de imagens digitais . . . . . . . . .
1.3 Sistema de processamento de imagens digitais . .
1.3.1 Aquisição . . . . . . . . . . . . . . . . . .
1.3.2 Armazenamento . . . . . . . . . . . . . . .
1.3.3 Processamento . . . . . . . . . . . . . . .
1.3.4 Comunicação . . . . . . . . . . . . . . . .
1.3.5 Exibição . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
4
4
6
6
6
6
2 Fundamentos de Imagens Digitais
2.1 Relacionamento básico entre pixels . . . . . . . . . . . . .
2.1.1 Vizinhos de um pixel . . . . . . . . . . . . . . . . .
2.1.2 Conectividade . . . . . . . . . . . . . . . . . . . . .
2.1.3 Rotulação de componentes conexos . . . . . . . . .
2.1.4 Medidas de distância . . . . . . . . . . . . . . . . .
2.2 Modelo de câmera . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Modelo de câmera - transformações de perspectiva .
2.2.2 Modelo de câmera - Imageamento estéreo . . . . . .
2.3 Transformações geométricas . . . . . . . . . . . . . . . . .
2.3.1 Translação . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Rotação - Eixo z . . . . . . . . . . . . . . . . . . .
2.3.3 Mudança de escala . . . . . . . . . . . . . . . . . .
2.3.4 Ampliação e redução (zoom in e zoom out) . . . . .
2.3.5 Espelhamento (flip) . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
7
7
8
9
9
10
11
11
11
11
11
11
3 Processamento de histograma
3.1 Cálculo do histograma de uma imagem . . . . . . . . . . . . . . . . . . . .
3.2 Equalização de histograma . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
13
15
4 Realce de Imagens
4.1 Introdução . . . . . . . . . . . .
4.2 Fundamento matemáticos . . .
4.2.1 Convolução . . . . . . .
4.2.2 Transformada de Fourier
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
17
17
18
5 Filtragem de imagens via operação de convolução
5.1 Filtragem passa-baixa . . . . . . . . . . . . . . . .
5.2 Filtragem por mediana . . . . . . . . . . . . . . . .
5.3 Filtragem passa-alta . . . . . . . . . . . . . . . . .
5.4 Detecção de pontos . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
20
20
21
22
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5.5
Detecção de bordas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 Estatı́sticas
6.1 Máximo e mı́nimo . . . . .
6.2 Média . . . . . . . . . . .
6.3 Desvio padrão e variância
6.4 Mode . . . . . . . . . . . .
6.5 Correlação . . . . . . . . .
6.6 Relação Sinal-Ruı́do . . .
22
.
.
.
.
.
.
23
23
23
23
23
23
24
.
.
.
.
.
.
25
25
25
25
26
26
27
8 Representação e descrição de imagens
8.1 Representação: Esqueleto de uma região . . . . . . . . . . . . . . . . . . .
8.2 Descrição: descritores simples de fronteiras e regiões . . . . . . . . . . . . .
29
29
30
Bibliografia
32
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7 Segmentação de imagens
7.1 Detecção de descontinuidade . .
7.1.1 Detecção de pontos . . .
7.1.2 Detecção de linhas . . .
7.2 Limiarização . . . . . . . . . . .
7.3 Segmentação orientada a regiões
7.3.1 Crescimento de regiões .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ST061
1
Introdução ao processamento digital de imagens
1.1
Fundamentos
• As técnicas de PDI tem por objetivo melhorar a informação visual para a análise e
interpretação humanas.
• Primeiras técnicas de PI: melhoramento de imagens digitalizadas para jornais enviadas de Londres para New York (década de 20).
• Melhora da qualidade visual das imagens: impressão e distribuição de nı́veis de brilho.
• Processamento digital: iniciado pelo Jet Propulsion Lab, 1964, com imagens da Lua.
• Aplicações na medicina (raios X, MRI), geografia (clima, poluição), arqueologia
(correção de imagens borradas, montagem de quebra-cabeças com o objetivos antigos), fı́sica, biologia, aplicações industriais etc.
• A Figura 1 apresenta alguns exemplos de aplicações de diversas técnicas de processamento digital de imagens
• O processamento digital de imagens abrange uma ampla escala de hardware, software
e fundamentos teóricos.
1.2
Representação de imagens digitais
• Uma imagem é uma função bidimensional de intensidade da luz f (x, y), onde x
e y denotam as coordenadas espaciais e o valor de f em qualquer ponto (x, y) é
proporcional ao brilho (nı́vel de cinza) da imagem naquele ponto.
• A convenção é atribuir proporcionalmente valores mais altos para áreas de maior
brilho.
• Uma imagem digital pode ser considerada uma matriz cujos ı́ndices de linhas e colunas
identificam um ponto na imagem, como mostra a Figura 2, e o correspondente valor
do elemento identifica o nı́vel de cinza naquele ponto.
• Os elementos dessa matriz são chamados de pixels ou pels (pictures elements).
• O tamanho das imagens varia de acordo com a aplicação. Contudo, é interessante
trabalhar com matrizes quadradas com nı́veis de cinza que sejam potências inteiras
de 2.
Processamento Digital de Imagens
3
ST061
(a)
(b)
(c)
(d)
(e)
(f)
Figura 1: Aplicações em processamento digital de imagens.
1.3
Sistema de processamento de imagens digitais
• Uma seqüência tı́pica de procedimentos em um sistema de processamento de imagens
é mostrada na Figura 3[4].
• Os elementos de um sistema de propósito geral capaz de desempenhar as operações
de PDI são: aquisição, armazenamento, processamento, comunicação e exibição.
1.3.1
Aquisição
• Converte a imagem para uma representação numérica adequada às etapas posteriores
do sistema.
• É necessário um sensor para imageamento (sensı́vel a uma banda do espectro de
energia eletromagnética) e de um digitalizador (converta o sinal fı́sico para a forma
digital).
Processamento Digital de Imagens
4
ST061
Figura 2: Convenção dos eixos para representação de imagens digitais.
Figura 3: Uma seqüência 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 passa
por um corpo ou objeto é um filme (poderia ser um CCD — Dispositivo de Carga
Acoplada). Uma imagem digital é obtida ao se permitir apenas valores discretos de
intensidade de luz e de posição.
1.3.2
Armazenamento
• Uma das classificações na forma de armazenamento é: curto tempo (uso durante o
processamento), on-line (acesso rápido) e em arquivo (acesso menos freqüente).
• O armazenamento é medido em bytes. Por exemplo, uma imagem de 8 bits com
resolução de 1024 x 1024 pixels, requer um milhão de bytes para seu armazenamento.
• Frame-buffer é um tipo de memória computacional de curto tempo, na qual uma
imagem pode ser acessada de forma rápida, em taxas de tempo de vı́deo.
1.3.3
Processamento
• Envolve procedimentos que são geralmente expressos em forma algorı́tmica; a maioria, implementada em software.
• O processamento de imagens é caracterizado por soluções especı́ficas. Técnicas que
funcionam bem em uma área podem se mostrar inadequadas em outra área. Portanto,
há espaço para bastante pesquisa.
1.3.4
Comunicação
• Comunicação entre sistemas — transmissão: desafio quanto à velocidade de transmissão e qualidade das imagens enviadas.
• O problema torna-se ainda mais complicado quando deseja-se transmitir seqüências
de vı́deo (imagens em movimento com áudio associado).
1.3.5
Exibição
• Os principais dispositivos de saı́da são os monitores de computadores. A resolução
espacial dos monitores é normalmente especificada em pontos por polegada (dots per
inch — dpi). Um valor tı́pico de resolução é 72dpi, sendo que uma tela de TV tem
resolução na faixa de 40dpi [2].
• Existem diversas formas de reprodução em papel. A melhor é a reprodução fotográfica. Uma alternativa é o uso da técnica de halftoning que consiste, basicamente, em imprimir pontos escuros de diferentes tamanhos espaçados de tal maneira
a reproduzir a ilusão de tons de cinza.
Processamento Digital de Imagens
6
ST061
2
Fundamentos de Imagens Digitais
2.1
Relacionamento básico entre pixels
• Nas seções seguintes, uma imagem será 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 cujas
coordenadas são
(i + 1, j) , (i − 1, j) , (i, j + 1) , (i, j − 1)
• O conjunto de vizinhos acima é denominado de vizinhança-4 de p e representado por
N4 (p). Acrescentando os vizinhos das diagonais, determina-se a vizinhança-8 de p,
denotado por N8 (p).
2.1.2
Conectividade
• Para dizer que dois pixels são conectados é preciso determinar se eles são adjacentes
(vizinhança-4, por exemplo) e se seus nı́veis de cinza satisfazem um certo critério de
similaridade (se são iguais, por exemplo).
• Por exemplo, em uma imagem binária com intensidades 0 e 1, dois pixels podem ser
N4 (p), mas eles não são conectados (precisariam ter o mesmo valor).
2.1.3
Rotulação de componentes conexos
• A habilidade de atribuir rótulos diferentes a componentes conexos disjuntos de uma
imagem é de fundamental importância em visão computacional.
• Um algoritmo simples e seqüencial de rotulação de uma imagem é explicado abaixo
através de um conjunto de passos.
1. A imagem deve ser percorrida pixel por pixel, da esquerda para direita e de
cima para baixo.
2. Assumiremos vizinhança N4 (p).
3. Sejam os vizinhos superior e esquerdo de p representados por s e e, respectivamente.
4. Se o valor de p é 0, siga para a próxima posição.
5. Se o valor de p é 1, examine s e e: (a) se ambos forem iguais a zero, atribua a
p um novo rótulo; (b) se apenas um dos vizinhos de p for igual a 1, atribua a p
o seu rótulo; (c) se ambos forem 1 e possuem o mesmo rótulo, atribua a p este
rótulo; (d) se ambos forem 1, mas possuem rótulo diferentes, atribua um dos
rótulos a p e anote que os dois rótulos são equivalentes (os pontos s e e estão
conectados por p).
Processamento Digital de Imagens
7
ST061
6. Ao final da varredura, todos os pixels com valor 1 terão sido rotulados, mas alguns destes rótulos poderão ser equivalentes. Portanto, é necessário reorganizar
os rótulos equivalentes em valores iguais.
• A Figura 4 mostra um processo de rotulação para uma imagem sintética de 7 linhas
e 6 colunas.
Figura 4: Processo de rotulação: (a) imagem original com blobs; (b) imagem digital; (c)
imagem rotulada.
2.1.4
Medidas de distância
• Seja três pixels p, q e z, D é uma função distância (ou métrica) 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 distância D4 , também chamada de quarteirão, entre p e q é definida como
D4 (p, q) = |x − s| + |y − t|
(1)
onde (x, y) e (s, t) são as coordenadas de p e q, respectivamente. Por exemplo, se
pegarmos os pixels com D4 ≤ 2 a seguinte figura é formada (com relação a um ponto
central)
2
2 1 2
2 1 0 1 2
2 1 2
2
• Outra medida de distância conhecida como xadrez ou D8 , é definida como:
D8 (p, q) = max (|x − s| , |y − t|)
Processamento Digital de Imagens
(2)
8
ST061
Por exemplo, se pegarmos os pixels com D8 ≤ 2 a seguinte figura é formada (com
relação a um ponto central)
2
2
2
2
2
2.2
2.2.1
2
1
1
1
2
2
1
0
1
2
2
1
1
1
2
2
2
2
2
2
Modelo de câmera
Modelo de câmera - transformações de perspectiva
• Uma transformação perspectiva projeta pontos 3D em um plano, como mostra a
Figura 5. Observe que o sistema de coordenadas da câmera está alinhado com o
sistema de coordenadas do mundo.
Figura 5: Modelo básico de processamento de imagens. Apresenta os sistemas de coordenadas da câmera (x, y, z) e do mundo (X, Y, Z) [1].
• A relação que fornece as coordenadas (x, y) da projeção do ponto (X, Y, Z) sobre o
plano da imagem é dada por semelhança de triângulos.
x
X
=−
d
Z −d
y
Y
=−
d
Z −d
Processamento Digital de Imagens
(3)
(4)
9
ST061
Portanto, as equações acima podem ser escritas da seguinte forma
2.2.2
x=
dX
d−Z
(5)
y=
dY
d−Z
(6)
Modelo de câmera - Imageamento estéreo
• No modelo de transformação perspectiva visto na seção anterior, a informação de
profundidade é perdida quando o ponto (X, Y, Z) é imageado no plano da imagem.
• Entretanto, essa informação pode ser recuperada através do uso de técnicas de imageamento estéreo, com base no modelo mostrado na Figura 6.
Figura 6: Modelo do processo de imageamento estéreo[1].
• O procedimento consiste em se obter duas vistas para um mesmo objeto (ponto w,
neste exemplo). A distância entre os centros das lentes B é chamada de linha de
base. O objetivo é determinar as coordenadas (X, Y, Z) do ponto w, tendo (x1 , y1 ) e
(x2 , y2 ).
• Assume-se que as câmeras são idênticas e que os sistemas de coordenadas coordenadas
de ambas as câmeras estejam alinhados.
• As equações de X, Y seguem diretamente deduzidas como na seção anterior. Para
X, as equações são:
x1
X1 =
(d − Z1 )
(7)
d
x2
X2 =
(d − Z2 )
(8)
d
Processamento Digital de Imagens
10
ST061
• A coordenada Z é a mesma para ambos os sistemas de coordenadas e dada por:
dB
Z =d−
(9)
x2 − x1
• A tarefa mais difı́cil no uso da equação acima consiste em determinar dois pontos
correspondentes em imagens diferentes da mesma cena.
2.3
Transformações geométricas
• Trabalharemos com coordenadas homogêneas. As operações são feitas da seguinte
forma: P1 = O · P , onde O é a transformação que se deseja efetuar, P e P1 correspondem as coordenadas do ponto antes e após a transformação, respectivamente.
2.3.1
Translação

1
 0
T =
 0
0
2.3.2
0
1
0
0

0 dx
0 dy 

1 dz 
0 1
Rotação - Eixo z


cosθ −senθ 0 0
 senθ cosθ 0 0 

Rz (θ) = 
 0
0
1 0 
0
0
0 1
2.3.3
Mudança de escala

Sx 0 0
 0 Sy 0
S=
 0 0 Sz
0 0 0
2.3.4

0
0 

0 
1
Ampliação e redução (zoom in e zoom out)
• As dimensões de uma imagem são aumentadas ou diminuı́das para efeito de visualização. por exemplo, para um fator 2, o processo de ampliação pode ser demonstrado
pela Figura 7.
2.3.5
Espelhamento (flip)
• Combina rotações por ângulos múltiplos de 90◦ sob a imagem transposta:
(a) Flip horizontal - Rotação de 90◦ (AH) sob a transposta;
(b) Flip vertical - Rotação de 90◦ (H) sob a transposta
Processamento Digital de Imagens
11
ST061
Figura 7: Ampliação por um fator 2. Cada pixel na imagem (a) corresponde a 4 na imagem
(b)[2]. O processo inverso produz a redução 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] é
uma função discreta p (rk ) = nk /n, em que rk é o k-ésimo nı́vel de cinza (k =
0, 1, 2, . . . L − 1), nk é o número de pixels na imagem com este nı́vel de cinza e n
corresponde ao número total de pixels na imagem.
• Um gráfico dessa função fornece uma descrição global da aparência desta imagem,
como mostra a Figura 9. É possı́vel obter uma indicação da qualidade do contraste
e brilho médio (imagem predominantemente clara ou escura).
Figura 9: Exemplos de histogramas de imagens: (a) Imagem original Pout e seu histograma; (b) Imagem original Tire e seu histograma; (c) Imagem original Bone marrow e seu
histograma.
3.1
Cálculo do histograma de uma imagem
• Um exemplo de obtenção do histograma de uma imagem de 8 × 8 com 8 nı́veis de
cinza é dado na Figura 10 e Tabela 1.
Processamento Digital de Imagens
13
ST061
Nı́vel de cinza rk
0
1
2
3
4
5
6
7
Nı́vel de cinza normalizado nk
0
28
1/7
12
2/7
8
3/7
8
4/7
4
5/7
2
6/7
2
1
0
Total
64
p (rk )
0,4375
0,1875
0,125
0,125
0,0625
0,03125
0,03125
0
1
Tabela 1: Valores para o cálculo do histograma da imagem mostrada na Figura 10.
Figura 10: Cálculo do histograma de uma imagem:(a) imagem original; (b) histograma
correspondente.
Processamento Digital de Imagens
14
ST061
3.2
Equalização de histograma
• Técnica a partir da qual se procura redistribuir os valores de tons de cinza dos pixels
em uma imagem de modo a obter um histograma mais uniforme.
• Utiliza-se o conceito de transformação de intensidade. Seja um nı́vel de cinza rk ,
usaremos uma transformação do tipo
sk = T (rk )
(10)
onde sk é o novo tom de cinza na imagem destino. A transformação mais usual para
se equalizar um histograma é através da função de distribuição acumulada (cdf cumulative distribution function) [2], expressa por:
sk =
k
X
p (rj )
(11)
j=0
onde 0 ≤ rk ≤ 1 e k = 0, 1, 2, . . . , L − 1.
• No exemplo numérico da Figura 10, aplicando-se a transformação de intensidade da
Equação 11, produz-se a equalização apresentada na Figura 11.
Figura 11: Equalização do histograma da imagem da Figura 10:(a) imagem após transformação; (b) histograma equalizado.
• A Figura 12 apresenta alguns exemplos de equalização para as imagens da Figura 9.
Processamento Digital de Imagens
15
ST061
Figura 12: Exemplos de equalização 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
Introdução
• O objetivo é processar uma imagem de modo que o resultado seja mais adequado
para a aplicação em questão.
• Um classificação ampla das técnicas de realce de imagens consiste em: métodos no
domı́nio espacial e métodos no domı́nio espectral.
• As técnicas classificadas no domı́nio espacial operam diretamente sobre a matriz dos
pixels que representa a imagem. Podem ser divididas em técnicas de procssamento
ponto-a-ponto e de processamento por máscara.
• As técnicas classificadas como de domı́nio da freqüência são baseadas na modificação
da transformada de Fourier da imagem.
4.2
4.2.1
Fundamento matemáticos
Convolução
• Uma relação entre entrada-saı́da é chamada de sistema se existe uma única saı́da
para uma dada entrada. Essa relação é dada na Figura 13.
Figura 13: Um sistema: relação entre a entrada x (n1 , n2 ) e a saı́da y (n1 , n2 ). T [] representa
uma transformação qualquer.
• A relação entre entrada e saı́da é dada por
y (n1 , n2 ) = T [x (n1 , n2 )]
(12)
• Para sistemas lineares invariantes no tempo (SLIT), a equação acima pode ser reescrita da seguinte forma
∞
X
y (n1 , n2 ) =
∞
X
x (k1 , k2 ) T [δ (n1 − k1 , n2 − k2 )]
(13)
x (k1 , k2 ) h (n1 − k1 , n2 − k2 )
(14)
k1 =−∞ k2 =−∞
ou
y (n1 , n2 ) =
∞
X
∞
X
k1 =−∞ k2 =−∞
Processamento Digital de Imagens
17
ST061
onde
h (n1 − k1 , n2 − k2 ) = T [δ (n1 − k1 , n2 − k2 )]
(15)
e δ (n1 , n2 ) é a função impulso definida abaixo.
1, n1 = n2 = 0
δ (n1 , n2 ) =
0, caso contrario
• A Equação 16 é conhecida como convolução e denotada pelo operador *, ou seja
y (n1 , n2 ) = x (n1 , n2 ) ∗ h (n1 , n2 )
(16)
• Exemplo 1 — Fazer a convolução entre x e h dados na Figura 14.
Figura 14: Exemplo de convolução. Determine o valor da saı́da y (n1 , n2 ).
4.2.2
Transformada de Fourier
• A operação que transforma um sinal para sua representação via componentes de
freqüência é denominada de Transformada (Fourier, wavelet, Z).
• O par de transformadas discretas de Fourier para o caso 2D é dado por
M −1 N −1
1 XX
F (u, v) =
f (x, y) exp [−j2π (ux/M + vy/N )]
M N x=0 y=0
(17)
onde u = 0, 1, 2, . . . , M − 1 e v = 0, 1, 2, . . . , N − 1 e
f (x, y) =
M
−1 N
−1
X
X
F (u, v) exp [j2π (ux/M + vy/N )]
(18)
u=0 v=0
• Freqüentemente, a transformada de Fourier é expressada na forma exponencial, ou
seja,
F (u, v) = |F (u, v)| ejθ(u,v)
Processamento Digital de Imagens
(19)
18
ST061
• A função magnitude |F (u, v)| é chamada de espectro de Fourier e θ (u, v), ângulo de
fase.
• O quadrado do espectro |F (u, v)|2 é chamado de espectro de potência ou densidade
espectral.
• 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) espectro
de Fourier de (a).
• Existe uma relação básica entre a transformada de Fourier e a convolução, importante
para a compreensão das técnicas de PDI:
f (x, y) ∗ h (x, y) ⇔ F (u, v) H (u, v)
(20)
• Transformada Rápida de Fourier (FFT - Fast Fourier Transform) — A
FFT é um algoritmo que reduz a quantidade de operações necessárias para o cálculo
da Transformada de Fourier. A complexidade cai de N 2 para N log2 N . Por exemplo,
suponha que se deseja calcular a Transformada de Fourier de um vetor de 8192
elementos: se o tempo de processamento em uma máquina qualquer fosse 5s usando
a FFT, a mesma máquina levaria cerca de 600 vezes mais tempo para realizar o
mesmo cálculo sem esta técnica.
Processamento Digital de Imagens
19
ST061
5
Filtragem de imagens via operação de convolução
• A operação é feita diretamente sobre os valores dos pixels na imagem (chamado de
filtragem no domı́nio espacial).
• A metodologia básica consiste na operação de convolução, estudada no Capı́tulo
anterior.
5.1
Filtragem passa-baixa
• São filtros que suavizam os contornos das imagens. São usados para borramento e
redução de ruı́do.
• O filtro tem que possuir todos os coeficiente positivos. Exemplos de máscaras de dois
tamanhos diferentes são dadas abaixo.


1 1 1
1 
1 1 1 
×
9
1 1 1



1
×
25 

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1






• Um exemplo de filtragem passa-baixa é dado na Figura 16.
Figura 16: (a) imagem original; (b) imagem filtrada via passa-baixa (observe que as raias
ficaram borradas).
5.2
Filtragem por mediana
• Quando deseja-se reduzir o ruı́do, uma opção mais adequada é a filtragem por mediana. A operação consiste em substituir o nı́vel de cinza de cada pixel pela mediana
dos nı́veis de cinza da vizinhança daquele pixel (esse tipo de filtro é não-linear).
Processamento Digital de Imagens
20
ST061
• A mediana m de um conjunto de valores é tal que metade dos valores no conjunto
são 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 é dado na Figura 17.
Figura 17: (a) imagem original; (b) imagem corrompida; (c) imagem filtrada (mediana vizinhança 3 × 3).
5.3
Filtragem passa-alta
• Enfatiza detalhes finos ou realça imagens que tenham sido borradas.
• A imagem poderá vir a ter alguns nı́veis de cinza negativo, de modo que é ncessário
um cliping ou uma mudança de escala. Um exemplo de filtro passsa-alta é dado
abaixo.


−1 −1 −1
1 
−1 8 −1 
×
9
−1 −1 −1
• Um exemplo de filtragem passa-alta é dado na Figura 18.
Figura 18: (a) imagem original saturno; (b) imagem filtrada via passa-alta.
Processamento Digital de Imagens
21
ST061
5.4
Detecção de pontos
• A máscara abaixo destacará pixels brilhantes rodeados de pixels mais escuros.


−1 −1 −1
 −1 8 −1 
−1 −1 −1
5.5
Detecção de bordas
• Borda é a fronteira entre duas regiões, cujos nı́veis de cinza predominantes são consideravelmente diferentes. A seguir, são apresentados diversas máscaras para detecção
de bordas horizontais e verticais.
Sobel (vertical e horizontal)

 

−1 0 1
−1 −2 −1
 −2 0 2  ,  0
0
0 
−1 0 1
1
2
1
Prewitt (vertical e horizontal)

 

−1 0 1
−1 −1 −1
 −1 0 1  ,  0
0
0 
−1 0 1
1
1
1
Roberts (vertical e horizontal)

 

−1 0 0
0 0 −1
 0 1 0 , 0 1 0 
0 0 0
0 0 0
• Um exemplo de detecção de borda usando Sobel é dado na Figura 19.
Figura 19: (a) imagem original; (b) detecção de borda via Sobel.
Processamento Digital de Imagens
22
ST061
6
Estatı́sticas
• Em processamento de imagens, é muito comum usar estatı́stica para descrever imagens ou partes de uma imagem. A seguir, apresento algumas estatı́sticas bastante
usadas em PDI.
• Um exemplo da utilização de alguns parâmetros estatı́sticos é dado na Figura 20.
6.1
Máximo e mı́nimo
• Maiores e menores valores de intensidade de luz presentes na imagem.
6.2
Média
• A luminosidade média m de uma imagem I é definida como
m = E [I (i, j)] =
1 X
I (i, j)
N i,j∈<
(21)
Onde N é o número total de pixels da imagem. Alternativamente, pode-se usar o
histograma para calcular a média.
6.3
Desvio padrão e variância
• Variação da intensidade luminosa com relação à média. Dá uma idéia do contraste
na imagem.
σ 2 = E |I (i, j) − m|2
(22)
6.4
Mode
• O valor de intensidade de luz mais freqüente na imagem.
6.5
Correlação
• A correlação entre duas funções f (i, j) e g (i, j), denotada por f (i, j) ◦ g (i, j), é dada
por:
M −1 N −1
1 XX ∗
f (i, j) ◦ g (i, j) =
f (m, n) g (i + m, j + n)
M N m=0 n=0
(23)
• A operação de correlação é semelhante à convolução. A diferença é que g (i, j) não é
refletida em torno da origem.
• Se f (i, j) e g (i, j) forem iguais, a operação passa a ser chamada de autocorrelação.
Para funções diferentes, o termo correlação cruzada também é utilizado na literatura.
Processamento Digital de Imagens
23
ST061
6.6
Relação Sinal-Ruı́do
• A relação sinal-ruı́do (SNR — Signal-to-Noise Ratio) pode ter várias definições.
Abaixo, apresento duas definições: A primeira, utilizada quando se conhece que
o sinal pertence à faixa amin ≤ a ≤ amax ; A segunda, caso o sinal não seja limitado
e se possua a distribuição estatı́stica do mesmo.
e
amax − amin
SN R = 20log10
σ
m
SN R = 20log10
σ
(24)
(25)
Figura 20: (a) imagem original; (b) alguns parâmetros estatı́sticos para a imagem completa
e para a região de interesse (ROI — region of interest) circulada.
Processamento Digital de Imagens
24
ST061
7
Segmentação de imagens
• Geralmente, o primeiro passo em análise de imagens é a segmentação. A segmentaçaõ subdivide uma imagem em suas parte ou objetos constituintes. Veja algumas
definições de segmentação:
- Segmentação é o processo de dividir a imagem em regiões conexas e homogêneas
(Salembier,1993),(Vachier,1995);
- O objetivo da segmentação é de reagrupar em regiões elementos que possuem atributos similares (Agnus, 2001);
- As técnicas de segmentação têm como finalidade produzir uma partição da imagem
tão próxima quanto possı́vel daquela feita pelo olho humano (Gomila,2001).
• Os algoritmos de segmentação são baseados em duas propriedades: descontinuidade
(detecção de pontos isolados, linhas e bordas) e similaridade (limiarização e crescimento de regiões).
7.1
Detecção de descontinuidade
A teoria envolvendo este tópico foi discutida no capı́tulo sobre Filtragem de imagens. A
seguir, acrescento alguns tipos de filtros e conceitos.
7.1.1
Detecção de pontos
• Após usada a máscara de filtragem, um ponto é detectado se:
|R| > T
onde T é um limiar não-negativo e R é dado pela equação:
R = w1 z1 + w2 z2 + · · · w9 z9 =
9
X
wi zi
(26)
i=1
tal que wi são os coeficientes do filtro 3 × 3 e zi , os nı́veis de cinza da imagem.
7.1.2
Detecção de linhas
• Abaixo, exemplos de máscaras para detecção de linhas a +45◦ e −45◦, respectivamente.

 

−1 −1 2
2 −1 −1
 −1 2 −1  e  −1 2 −1 
2 −1 −1
−1 −1 2
• Após a convolução, deve ser feita a limiarização, como descrita na Seção anterior e
melhor definida na próxima Seção.
Processamento Digital de Imagens
25
ST061
7.2
Limiarização
• Na Figura 21 são mostrados 2 diferentes histogramas Qual a análise que pode ser
feita com base nesses histogramas?
Figura 21: Limiarização — análise de histogramas.
• A limiarização é uma operação que envolve testes de uma função f (x, y). A limiarização de uma imagem g (x, y) é definida como:
g (x, y) =
1 se f (x, y) > T
0 se f (x, y) ≤ T
• Um exemplo de binarização de imagens é dada na Figura 22. De que forma poderı́amos
remover os pequenos pontos brancos?
(a)
(b)
Figura 22: Exemplo de limiarização: (a) imagem original; (b) imagem binarizada com
T = 180.
7.3
Segmentação orientada a regiões
• Define as regiões diretamente na imagem, sem antes realizar outra operação (binarização, por exemplo).
Processamento Digital de Imagens
26
ST061
7.3.1
Crescimento de regiões
• Agrupa pixels ou sub-regiões em regiões maiores. O processo mais simples começa
com um conjunto de pontos sementes, anexando paulatinamente os outros pixels da
imagem, caso alguma propriedade destes seja similar à da semente.
• Exemplos de critérios de similaridade: nı́vel de cinza, cor e textura. A quantidade
de regiões da imagem corresponderá a quantidade de sementes.
• Veja um exemplo da técnica de crescimento de região mostrada na Tabela 2 abaixo.
1
2
3
4
5
1
0
1
0
2
0
2
0
1
1
0
1
3
5
5
6
7
5
4
6
8
7
6
6
5
7
7
7
6
5
Tabela 2: Imagem I — aplicação da técnica de crescimento de regiões utilizando o critério
da diferença absoluta entre os nı́veis de cinza do pixel e da semente menor que um dado
limiar T : (a) para T = 3; (b) para T = 8. Defina que qualquer pixel que satisfaça essa
propriedade para ambas a sementes, será atribuı́do à Região R1 . As sementes são os pontos
(3, 2) e (3, 4).
• Dois problemas enfrentados por este tipo de técnica são: a escolha da(s) semente(s)
e a escolha da(s) propriedade(s).
• A seleção de critérios de similaridade e das sementes dependem do problema e do
tipo de imagem disponı́vel. Por exemplo, para imagens provenientes de satélite para
levantamento de terrenos, a cor é um aspecto importante. Em aplicações militares
de imageamento infravermelho (ou de controle de temperatura para detecção da
Febre Asiática), a escolha de pixels mais claros é uma maneira natural de iniciar um
algoritmo de crescimento de regiões.
• Sejam as imagens dadas na Figura 23, analise a segmentação com base em algoritmos
de crescimento de regiões.
Processamento Digital de Imagens
27
ST061
(a)
(b)
(c)
(d)
(e)
(f)
Figura 23: Exemplos de segmentação de imagens: (a),(b) imagem de levedura original
e segmentada; (c),(d) imagem cameraman original e segmentada; (e) grãos de arroz; (f)
bifão.
Processamento Digital de Imagens
28
ST061
8
Representação e descrição de imagens
• Após a segmentação, o passo seguinte consiste na representação e descrição do conteúdo para permitir o processamento subsequente.
• As regiões são representadas através de suas caracterı́sticas externas (fronteiras) ou
internas (pixels que compõem a região). A descriçao refere-se, por exemplo, à escolha
de uma caracterı́stica da fronteira da região (tamanho, número de concavidades).
8.1
Representação: Esqueleto de uma região
• A redução da representação estrutural de uma região planar é realizada obtendo-se
o esqueleto da região através de um algoritmo de afinamento (esqueletização).
• A esqueletização cumpre um papel importante em visão computacional, sobretudo
nas tarefas de reconhecimento de padrões. Exemplos incluem o reconhecimento de
impressões digitais e de caracteres.
• O esqueleto de uma região é definido pela transformação do eixo médio (Medial
Axis Transform — MAT — Blum,1967). O esqueleto é obtido sobre a imagem da
transformada distância da região R a ser afinada. Dado um pixel p de R, se ele
for eqüidistante da borda B da imagem, ele pertence ao eixo médio (esqueleto).
A Figura 24 apresenta alguns esqueletos de imagens (trabalharemos somente com
imagens binárias).
Figura 24: Esqueletos de imagens: (a) exemplos; (b) calcular o esqueleto desta imagem
digital.
• A implementação direta do MAT é muito custosa computacionalmente. Portanto,
novos algoritmos surgiram a fim de calcular o esqueleto de uma imagem. O processo
consiste em apagar paulatinamente os pontos de borda, respeitando as caracterı́sticas:
(a) não deve remover pontos extremos; (b) não deve quebrar da conectividade; (c)
ter cuidado com a erosão excessiva da região.
• A seguir é descrito um algoritmo para o afinamento de regiões binárias (vizinhança 8,
conforme ilustra a Figura 25(a)). O algoritmo consiste na aplicação, a cada iteração,
de duas etapas:
Processamento Digital de Imagens
29
ST061
1a. etapa: O ponto de contorno p1 deve ser eliminado se as seguintes condições
forem satisfeitas:
(a) 2 ≤ N (p1 ) ≤ 6; (número de vizinhos não nulos de p1 )
(b) S (p1 ) = 1; (número de transições 0-1 na seqüência ordenada p2 , p3 , . . . p9 , p2 )
(c) p2 · p4 · p6 = 0
(d) p4 · p6 · p8 = 0
2a. etapa: As condições (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 borda
satisfaça às 4 condições, ele será apagado. Em seguida, a 2a. etapa deve ser aplicada,
consistindo em uma iteração do algoritmo.
Figura 25: (a) Vizinhança 8 - notação; (b) aplicar o algoritmo de afinamento para esta
letra.
8.2
Descrição: descritores simples de fronteiras e regiões
Processamento Digital de Imagens
30
ST061
Fronteiras
• Descritores simples: comprimento do contorno; eixos maiores e menores; curvatura
(taxa de inclinação).
• Código da cadeia: baseia-se na conectividade 4 ou 8 (Figura 26(a),(b)); efetua a
análise dos segmentos de reta que compõem o contorno.
Figura 26: Direções do código da cadeia: (a) Vizinhança 4; (b) Vizinhança 8; (c) qual o
código da cadeia deste contorno?.
Regiões
• Descritores simples: área, perı́metro, compacidade (definida como o quadrado do
perı́metro sobre a área), eixos principais, fator de forma, estatı́sticas dos nı́veis de
cinza.
• Descritores topológicos (propriedades que não se alteram após deformações ou outro
processamento): número de buracos, número de componentes conexos, número de
Euler E (veja a Figura 27).
• Também podem ser usados como descritores as texturas, Transformada de Fourier,
algumas operações de morfologia matemática etc.
Figura 27: Descritores tópológicos.
Processamento Digital de Imagens
31
ST061
Referências
[1] R.C. Gonzalez, R.E. Woods. Processamento de imagens digitais (versão traduzida).
São Paulo: Editora Edgard Blücher, 2000.
[2] O. M. Filho, H. V. Neto. Processamento Digital de Imagens. Rio de Janeiro: Editora
Brasport, 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, The
Math Works, 1995.
[7] J. Gomes, L. Velho. Computação Gráfica : Imagem, Rio de Janeiro: IMPA/SBM,
1994.
Processamento Digital de Imagens
32

Documentos relacionados

Análise do uso de diferentes bandas de cores na detecç ˜ao do

Análise do uso de diferentes bandas de cores na detecç ˜ao do que na imagem resultante o DO apareça como uma região mais homogênea e destacada do fundo da imagem. Já a imagem resultante da equação 2 representa a luminância(medida de intensidade de luz ...

Leia mais