Introdução ao Processamento de Imagens Digitais Neucimar J. Leite IC-UNICAMP e-mail: neucimar@ic.unicamp.br
Processamento de Imagens Introdução Filtragem e segmentação operações lineares: Transformada de Fourier, convolução operações não lineares: Morfologia Matemática
Exemplo de aplicações: automação e visão artificial reconhecimento de caracteres análise de cromossomos veículos autônomos mapeamento de terrenos detecção de alvos tomografia computadorizada ultra-sonografia inspeção industrial análise de imagens de satélites em SIGs etc
Modelo de um sistema de PDI
A imagem digital (x,y) função 2D f f(x,y) y x pixel
Processamento de baixo nível Classes de operações: operações pontuais operações globais operações de vizinhança: - operações lineares : transformada de Fourier, convolução - operações não-lineares: morfologia matemática - operações híbridas
Histograma h Operação global que fornece a freqüência de ocorrência dos níveis de cinza de f . Dá informações sobre a distribuição dos níveis de cinza a dinâmica da imagem Aplicações: filtragem, segmentação, reconhecimento de padrões e imagens.
Algoritmo: Início h[f(x,y)] = 0 {zera contadores de níveis de cinza} Para cada valor f(x,y) faça h[f(x,y)] = h[f(x,y)] + 1 Fim-para Fim
Exemplos de diferentes dinâmicas: h h 255 255 h Imagem escura Imagem clara 255
Exemplos de histogramas:
Exemplos simples de aplicação: 255 90 255 255 100 255
Observações: Um mesmo histograma pode estar associado a diferentes imagens. Sua informação é invariante com as operações de rotação e translação. Podemos considerar um histograma para cada banda espectral ou um histograma 3-D, por exemplo, referente às componentes RGB de uma imagem colorida.
Transformações radiométricas ou de escala de cinza Independem da localização dos pixels na imagem. Em termos de implementação, podem ser represen-tadas por look-up-tables (LUT). Transformam um pixel de nível de cinza gi em um nível de cinza gf .
Uma tranformação radiométrica r : É uma aplicação I(Gi) F(Gf), tal que Gi = [0,1,...,Ni], Gf = [0,1,...,Nf] e
Exemplos de funções r : complemento ou negativo gf 255 255 gi
Realce de contraste (stretching) gf 255 p1 p2 255 gi
Imagem colorida
Limiarização gf 255 Imagem binária gi 255
Equalização histogrâmica Transformação radiométrica que visa aumentar a dinâmica dos níveis de cinza melhorando, por exemplo, o contraste de imagens obtidas sob péssimas condicões de iluminação. Idéia: gerar uma distribuição mais uniforme dos níveis de cinza um histograma planar. h(p) h(q) p q
Exemplo de uma técnica de equalização: Seja f uma variável no intervalo [0,1]. Uma transformação T no intervalo [0,1] é tal que: g = T(f) (g(x,y) = T(f(x,y)), no nosso caso) Visando monotonicidade e preservação da escala de cinza: T deve ser monotonicamente crescente no intervalo [0,1]. g 1 gk =T(fk) f fk 1
Consideremos, agora, a seguinte função T(f): que representa a função de distribuição cumulativa (FDC) de f (esta função é monotonicamente crescente e varia de 0 a 1 em função de f). Conclusão: se T(f) é uma FDC, então ela pode ser empregada na defi-nição de uma nova imagem cuja distribuição dos níveis de cinza será mais uniforme.
O caso discreto: onde: nk = número de aparições do nível k Imagem: n=M x N pixels com valores discretos k = 0,1,...,L-1: onde: nk = número de aparições do nível k pf(fk) = probabilidade de ocorência de fk Assim:
Exemplos:
Imagem colorida
Casamento de histogramas Transforma o histograma de uma imagem original fo de acordo com o histograma de uma imagem de referência fr. Sejam h(fo) e h(fr) os histogramas das imagens original e de referência, respectivamente.
Imagem transformada: r = G-1(s) imagem escura imagem clara h(fr) h(fo) fr fo v=G[r] s=T[o] r o p(v) p(s) v s Imagem transformada: r = G-1(s)
Exemplos de casamento de histogramas original referência modificada
Filtragem Tipos gerais: linear, não-linear, híbrida. Processamento local: pixels vizinhos têm, em geral, as mesmas características. ruído: fenômeno de brusca variação de um pixel em relação a sua vizinhança. Tipos gerais: linear, não-linear, híbrida. Domínio: espacial, freqüência
Exemplo: domínio da freqüência imagem original f espectro |F(u,v)|
A transformada inversa de Fourier:
Princípio geral da filtragem linear: (função de transferência) F(u,v) G(u,v) H(u,v) f(x,y) g(x,y) h(x,y) G(u,v) = H(u,v) F(u,v) a TF inversa de G(u,v) define g(x,y) 14
Caso discreto: h = representação espacial da função de transferência H. f = imagem de entrada de tamanho NxN g = imagem resultante da filtragem f(x,y) g(x,y) h(x,y) F(u,v) G(u,v) H(u,v)
Convolução:
Operação local de filtragem Convolução: f(x,y) y h(x-i,y-j) x
Alguns exemplos Filtro média: Exemplo: f =
Exemplo: máscara 11x11 não preserva contornos imagem com ruído imagem filtrada no domínio espacial
original com ruído média 3x3 média 17x17
Detectores de contorno identificam transições bruscas na função f(x,y) Operadores diferencias: o gradiente vetor: magnitude: direção:
Gradiente de Roberts vizinhança 2x2: 1350 x,y x,y+1 x+1,y+1 x+1,y 450
Exemplo: imagem original gradiente de Roberts
Descontinuidades em x, y: Operadores 3x3 de Prewitt: e Sobel:
Exemplo: operadores de Prewitt
O Laplaciano derivada de segunda ordem: contorno Exemplo: f = passagem por zero f =
Filtragem não-linear filtragem com preservação de contornos Filtros estatísticos da ordem: Ex.: filtro da mediana (filtros estatísticos da ordem): f(x,y) ordenação substitui valor mediano
Filtro da mediana Vantagens: Desvantagem: Elimina eficientemente o ruído impulsivo (ruído de Poisson). Não introduz novos valores de níveis de cinza na imagem. Preserva bordas e pode ser aplicado iterativamente. Desvantagem: Elimina linhas muito finas e vértices dos objetos.
Exemplo comparativo: mediana 5x5 média 11x11
Alternativa: Mediana separável Subdivide a vizinhança 2-D em linhas ou colunas; calcula a mediana destas e em seguida a mediana das medianas. Mediana das linhas 10 mediana das medianas 10 10 Desvantagem: variante à rotação
Filtro da ordem-k Substitui um pixel central M, numa vizinhança qualquer, pelo k-ésimo valor dos elementos desta vizinhança ordenados segundo sua magnitude. ordenação 10 10 11 49 50 50 51 52 80 filtro max filtro min mediana
Filtro da média com os k-vizinhos mais próximos Substitui um pixel central M pelo valor médio dos k níveis de cinza que mais se aproximam do valor de M. k=6 M´= k=8 k=2 M´= 30 M´= 7
Morfologia Matemática a análise da imagem: segmentação classificação .. . . . ... . . .. .. . . .. . filtragem segmentação . . . .. .. ... . . .. . . . .. . . . . estrela classificação cubo
As transformações morfológicas Princípio: comparação da imagem original com outra menor denominada elemento estruturante elementos estruturantes Bx imagem 8-conexo 4-conexo origem conjunto X 35
Operações morfólogicas básicas sobre conjuntos e funções: Erosão e dilatação Dilatação: união de todos os pontos da imagem X, tal que o elemento estruturante Bx intercepta X imagem dilatada imagem Bx = X = Xc
Exemplo de dilatação: Bx imagem original imagem dilatada
Erosão conjunto dos pontos de X, tal que Bx esteja totalmente incluído em X imagem erodida imagem Bx = X = Xc
Exemplo de erosão: Bx imagem original imagem erodida
Para o caso de funções (imagens em níveis de cinza) dilatação: erosão: Bx f
Exemplos erosão imagem original dilatação
Abertura e fechamento morfológicos combinações de erosão e dilatação: - abertura : - fechamento: Propriedades: - operações duais, crescentes e idempotentes - a abertura é anti-extensiva e o fechamento, extensivo
Exemplos: Bx original abertura fechamento
Filtros morfológicos filtros essencialmente não-lineares: - qualquer transformação crescente e idempotente Conclusão: - erosão e dilatação não são filtros morfológicos - abertura e fechamento são os filtros morfológicos básicos
Exemplos original com ruído filtragem por abertura
Outros exemplos de operações elementares gradiente morfológico: original gradiente
Chapéu mexicano claro: original CM+
Chapéu mexicano escuro: original CM-
Exemplo: imagem original imagem afinada
Operações geodésicas e reconstrução métrica geodésica: X
Dilatação geodésica dilatação de Y em X de tamanho 1: Y X 53
dilatação de Y em X de tamanho infinito: n vezes reconstrução Y (marcador) X (máscara)
Exemplo de aplicaçao: eliminaçao de partículas parcialmente incluídas na imagem X
Reconstrução em níveis de cinza
Reconstrução dual marcador máscara reconstruçao dual
Esqueleto por zona de influência esqueleto SKIZ:
Segmentação morfológica baseada na definição da Linha Divisora de Águas -LDA de uma função LDA mínimos regionais
Cálculo da LDA: A partir de limiarizações sucessivas da imagem: O conjunto Z das LDAs de f : 2 3 3 3 1 0 1 2 2 2 1 0 1 LDAs
Exemplo de LDA: original gradiente LDA
Próximos passos para a segmentação definir marcadores das regiões de interesse imagem original marcadores definidos por limiarização
Imposição dos marcadores na imagem gradiente: - definir uma imagem g da seguinte forma: impondo marcadores
reconstrução dual de g: nova LDA
Exemplo: gradiente original
gradiente LDA marcadores
imagem segmentada !
Conclusões PDI é uma área multidisciplinar outras sub-áreas (sub-problemas): aquisisição codificação / compressão restauração reconstrução etc. arquiteturas específicas, linguagens
filtragem e segmentação de imagens de radar
Segmentação multiresolução