Processamento de Imagens Filtros

Post on 25-Jul-2015

86 views 0 download

Transcript of Processamento de Imagens Filtros

Antonio G. Thométhome@nce.ufrj.brSala – AEP/1033

Processamento de ImagensProcessamento de Imagens

Universidade Federal do Rio de JaneiroUniversidade Federal do Rio de Janeiro--

IM/DCC & NCEIM/DCC & NCE

Processamento de ImagensProcessamento de ImagensTratamento da ImagemTratamento da Imagem -- FiltrosFiltros

2

Processamento de ImagensProcessamento de Imagens SumárioConceito de FiltragemFiltros DigitaisDomínio da Filtragem

Filtragem no Domínio da FreqüênciaFiltragem no Domínio Espacial

Tipos de FiltrosFiltros Lineares

Filtros Passa-baixasFiltros Passa-altasFiltros Passa-banda

Filtros Não LinearesNo domínio da freqüência

– Filtragem HomomórficaNo domínio do espaço

– Filtro de Mediana– Filtro de Ordem– Filtro de Moda– Filtros Detectores de Borda

Conceito de FiltragemFiltros DigitaisDomínio da Filtragem

Filtragem no Domínio da FreqüênciaFiltragem no Domínio Espacial

Tipos de FiltrosFiltros Lineares

Filtros Passa-baixasFiltros Passa-altasFiltros Passa-banda

Filtros Não LinearesNo domínio da freqüência

– Filtragem HomomórficaNo domínio do espaço

– Filtro de Mediana– Filtro de Ordem– Filtro de Moda– Filtros Detectores de Borda

3

Processamento de ImagensProcessamento de Imagens

Filtragem Digital

Consiste na aplicação de técnicas de transformação (operadores – máscaras) com o objetivo de corrigir, suavizar

ou realçar determinadas características de uma imagem dentro de uma aplicação específica.

correção - é a remoção de características indesejáveis, emelhoria/realce - é a acentuação de características.

A filtragem é realizada pixel a pixel, onde o novo nível de cinza de um ponto P qualquer depende do seu nível de cinza original e do de outros pontos considerados como vizinhança

de P.Em geral, os pontos mais próximos de P contribuem mais para o novo valor do nível de cinza do que os pontos mais afastados

4

Processamento de ImagensProcessamento de Imagens

Domínio da Filtragem

• Domínio Espacial

São procedimentos que operam diretamente sobre os pixels da imagem na sua forma original.

• Domínio da Freqüência

São procedimentos que operam sobre a Transformada de Fourier da imagem original.

5

Processamento de ImagensProcessamento de Imagens

Tipos de Filtros

Filtros linearesSuavizam, realçam detalhes da imagem e minimizam efeitos de ruído, sem alterar o nível médio de cinza da imagem.

• Filtros não-lineares

Aplicam transformações sem o compromisso de manterem o nível médio de cinza da imagem original.

6

Processamento de ImagensProcessamento de Imagens

Filtros Lineares

• no domínio do espaço:

convoluçãog(x,y)f(x,y) h(x,y)g(x,y)= h(x,y) * f(x,y)

• no domínio da freqüência:

produtoG(u,v)H(u,v)F(u,v)G(u,v)= H(u,v) . F(u,v)

(*) h(x,y) ou H(u,v) são os operadores ou máscaras

7

Processamento de ImagensProcessamento de Imagens

Filtros Lineares no Domínio da Freqüência

a) Filtro Passa-baixas – Filtro Ideal

Deixa passar apenas as componentes de mais baixa freqüência (atenuam o contraste).

v

u

H(u,v)H(u,v)

D(u,v)D0

>≤

=0

0),(0),(1

),(DvuDseDvuDse

vuH )(),( 22 vuvuD +=

freqüência de corte

8

Processamento de ImagensProcessamento de Imagens

Filtros Lineares no Domínio da Freqüência

b) Filtro Passa-baixas – Filtro de Butterworth

nDvuDvuH 2

0]/),([11),(

+=

u v

H(u,v)

Filtro de Butterworth para n=1

As componentes de freqüência são quase exponencialmente reduzidas a medida que a distância D(u,v) fica maior que a freqüência de corte.

9

Processamento de ImagensProcessamento de Imagens

Filtros Lineares no Domínio da Freqüência

c) Filtro Passa-Altas – Filtro Ideal

1

D0D(u,v)

H(u,v)H(u,v)

u

v

>≤

=0

0),(1),(0

),(DvuDseDvuDse

vuH

10

Processamento de ImagensProcessamento de Imagens

Filtros Lineares no Domínio da Freqüência

d) Filtro Passa-Altas – Filtro de Butterworth

nvuDDvuH 2

0 )],(/[11),(

+=

u v

H(u,v)

As componentes de freqüência são quase exponencialmente reduzidas a medida que a distância D(u,v) fica menor que a freqüência de corte.

11

Processamento de ImagensProcessamento de Imagens

Filtros Lineares no Domínio da FreqüênciaExemplo: Filtro Passa-Altas

Freqüência de corte – D0 = 20

12

Processamento de ImagensProcessamento de Imagens

Filtros Lineares no Domínio da FreqüênciaExemplo: Filtro Passa-Baixas

Espectro de Fourier

Imagem de 512x512 pixels Raios iguais a 8, 18, 43, 78 e 152 -90, 93, 95, 99 e 99,5% da potência

da imagem

13

Processamento de ImagensProcessamento de Imagens Original

Passa-baixas – D0 = 8 Passa-baixas – D0 = 152

Passa-baixas – D0 = 18 Passa-baixas – D0 = 78Passa-baixas – D0 = 43

14

Processamento de ImagensProcessamento de Imagens

Filtragem Não Linear no Domínio da Freqüência

Filtragem Homomórfica

Trata-se de uma abordagem que busca operar sobre as componentes de iluminação e reflectância separadamente.

),().,(),( yxryxiyxf =

)},({)},({)},({ yxryxiyxf ℑℑ≠ℑ

)),(ln()),(ln()),(ln(),(

yxryxiyxfyxz+=

=

))},({ln())},({ln()},({ yxryxiyxz ℑ+ℑ=ℑ

15

Processamento de ImagensProcessamento de Imagens

Filtragem Não Linear no Domínio da Freqüência

Filtragem Homomórfica ...

),(),(),( vuRvuIvuZ +=

),(),(),(),(),(),(),(

vuRvuHvuIvuHvuZvuHvuS+=

=

)},(),({)},(),({

)},({),(11

1

vuTvuHvuIvuH

vuSyxs−−

ℑ+ℑ=

ℑ=

),(),()],('exp[)].,('exp[

)],(exp[),(

00 yxryxiyxryxi

yxsyxg

===

16

Processamento de ImagensProcessamento de Imagens

Filtragem Não Linear no Domínio da Freqüência

Filtragem Homomórfica ...

f(x,y) ln() FFT exp()H(u,v) (FFT)-1

g(x,y)

• A componente de iluminação de uma imagem é geralmente caracterizada por variações espaciais lentas;

• A reflectância tende a variar abruptamente, particularmente na junção de objetos diferentes.

O filtro homomórfico oferece uma forma de operar sobre esses componentes separadamente. Assim, os efeitos da iluminação ficam associados às baixas

freqüências e os da reflectância às altas freqüências

O filtro homomórfico oferece uma forma de operar sobre esses componentes separadamente. Assim, os efeitos da iluminação ficam associados às baixas

freqüências e os da reflectância às altas freqüências

17

Processamento de ImagensProcessamento de Imagens

Filtragem Homomórfica

Exemplo:

Freqüência de corte – D0 = 20

18

Processamento de ImagensProcessamento de Imagens

Filtragem Homomórfica

19

Processamento de ImagensProcessamento de Imagens

Filtragem Linear no Domínio do EspaçoOs métodos de filtragem espacial operam diretamente sobre a matriz de pixels (imagem digitalizada); normalmente utilizam operações de convolução entre a imagem original e uma máscara especialmente construída;As máscaras são chamadas de filtros espaciais.

Como no domínio da freqüência as máscaras podem implementar filtros:

• Passa-Baixas – para suavizar a imagem;

• Passa-Altas – para realçar bordas;

• Passa-Banda – para remover freqüências baixas e altas.

20

Processamento de ImagensProcessamento de Imagens

Filtragem Linear no Domínio do EspaçoFiltros no Domínio da Freqüência

1 1 1

Passa-Altas Passa-BandaPassa-Baixas

0

Filtros no Domínio Espacial

21

Processamento de ImagensProcessamento de Imagens

O Processo de Filtragem Espacial

Consiste na aplicação sucessiva de máscara que desliza sobre toda a imagem original;

Ao ser aplicada com centro numa posição (i,j), sendo i o número de uma dada linha e j o número de uma dada coluna da imagem, consiste na substituição do valor do pixel na posição (i,j) por um novo valor o qual depende dos valores dos pixels vizinhos e dos pesos da máscara.

À cada posição da máscara está associado um valor numérico, chamado de peso ou coeficiente.

Em cada posição (i,j), os pesos do filtro são multiplicados pelos NCs dos pixels correspondentes e somados, resultando em um novo valor de NC, que substitui o antigo NC do pixel central.

22

Processamento de ImagensProcessamento de Imagens

O Processo de Filtragem Espacial

w25w24w23w22w21

w20w19w18w17w16

w15w14w13w12w11

w10w9w8w7w6

w5w4w3w2w1

Máscara 5x5

R

∑=

+−=n

iiniwzR

11

23

Processamento de ImagensProcessamento de Imagens

O Processo de Filtragem Espacial

Na operação de filtragem deve-se calcular os pontos pertencentes à borda da imagem de modo diferente dos demais, já que estes não dispõem de todos os vizinhos.

Por questões de simetria usam-se, na definição das máscaras dos filtros, janelas N x N, onde N é um número ímpar.

Por questões de eficiência computacional, preferem-se valores pequenos para N (no máximo 7).

24

Processamento de ImagensProcessamento de Imagens

O Processo de Filtragem Espacial

R ∑=

+−=n

iiniwzR

11

w25w24w23w22w21

w20w19w18w17w16

w15w14w13w12w11

w10w9w8w7w6

w5w4w3w2w1

Máscara 5x5

25

Processamento de ImagensProcessamento de Imagens

Filtro Passa-baixas

Atenua (ou elimina) as altas freqüências que estão relacionadas com a informação de detalhes da imagem.

O efeito visual de um filtro passa-baixas é o de suavização (smoothing) da imagem uma vez que as altas freqüências, que correspondem às transições abruptas, são atenuadas.

A suavização tende também, pelas mesmas razões, a minimizar o efeito do ruído em imagens.

A filtragem passa-baixas tem, por outro lado, o efeito indesejado de diminuir a resolução da imagem, provocando

assim, um leve borramento. Ou seja, diminui a nitidez e a definição da imagem.

26

Processamento de ImagensProcessamento de Imagens

Exemplo Filtro Passa-baixa – Filtro de Média

Filtros de média 3x3, 5x5 e 7x71 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 1

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

1 1 11 1 11 1 1

1/9 * 1/25 * 1/49 *

Substitui o valor do pixel original pela média aritmética do pixel dos seus vizinhos;Quanto maior a máscara, maior o efeito de borramento.Pesos positivosSoma dos pesos igual a 1 – não altera a média

27

Processamento de ImagensProcessamento de Imagens

Resultado da Aplicação do Filtro de Média 3x3

Os ruídos foram reduzidos, porém a imagem filtrada apresenta-se borrada

28

Processamento de ImagensProcessamento de Imagens

Exemplo Filtro Passa-baixas –Filtro de Média Ponderada

São usados quando os pesos são definidos em função de sua distância do peso central.Filtros de Média Ponderada de dimensão 3x3 são:

1/16 *1 2 12 4 21 2 1

1 1 11 2 11 1 1

1/10 *

29

Processamento de ImagensProcessamento de Imagens

Resultado da Aplicação do Filtro de Média Ponderada 3x3

1 1 11 2 11 1 1

1 2 12 4 21 2 1

Original

30

Processamento de ImagensProcessamento de Imagens

Filtro Passa-altas

Atenuam ou eliminam as baixas freqüências, realçando as altas freqüências e são normalmente usados para realçar os

detalhes na imagem (agudização – sharpening).

Para filtros passa-altas, o efeito obtido é, em geral, o de tornar mais nítidas as transições entre regiões diferentes,

conhecidas como bordas, realçando o contraste.

O efeito indesejado destes filtros é o de enfatizar o ruído presente na imagem.

31

Processamento de ImagensProcessamento de Imagens

Filtro Passa-altas Básico

O formato da resposta de um filtro passa-altas deve ser tal que a máscara correspondente apresente coeficientes positivos nas proximidades de seu centro e negativos longe deles.

Exemplo - máscara 5x5, reforça o contraste que porventura exista entre os pixels centrais e os da periferia.

-1-1-1-1-1

-1111-1

-1181-1

-1111-1

-1-1-1-1-1

∑=

+−=n

iiniwzR

11

• se homogênea tende a zero

32

Processamento de ImagensProcessamento de Imagens

Exemplos de Filtros Passa-altas

0 -1 0

-1 4 -1

0 -1 0

-1 -1 -1

-1 8 -1

-1 -1 -1

1 -2 1

-2 4 -2

1 -2 1

Pesos positivos, negativos e nulosObserve que a soma algébrica da máscara é zero, o que significa que quando aplicada a regiões homogêneas de uma imagem, o resultado será zero ou um valor muito baixo.

33

Processamento de ImagensProcessamento de Imagens

Resultado da Aplicação do Filtro Passa-altas 3x3

-1 -1 -1

-1 8 -1

-1 -1 -1

A máscara foi aplicada a imagem original (esquerda) resultando a imagem da direita

34

Processamento de ImagensProcessamento de Imagens

Filtros Passa-altas Direcionais

Os filtros passa-alta direcionais (realce de bordas) realçam a cena, segundo direções preferenciais de interesse, definidas pelas máscaras.

A seguir estão algumas máscaras utilizadas para realçar bordas em vários sentidos.

O nome dado às máscaras indica a direção ortogonal preferencial em que será realçado o limite de borda. Assim, a máscara norte realça limites horizontais

35

Processamento de ImagensProcessamento de Imagens

Exemplos de Filtros Passa-altas Direcionais

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 1 1

1 1 -1

1 -1 -1

1 1 -1

Norte Leste Sul Oeste

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 1 1

1 1 1

1 -1 -1

1 -1 -1

Nordeste Sudeste Sudoeste Noroeste

36

Processamento de ImagensProcessamento de Imagens

Exemplos de Filtros Passa-altas

Linhas, em imagens, podem ser detectadas através das máscaras:

-0.5 1 -0.5

-0.5 1 -0.5

-0.5 1 -0.5

-0.5 -0.5 -0.5

1 1 1

-0.5 -0.5 -0.5Horizontais Verticais

-1 -1 2-1 2 -12 -1 -1

2 -1 -1-1 2 -1-1 -1 2

+45o

Diagonal-45o

37

Processamento de ImagensProcessamento de Imagens

Filtro Passa-banda (ou Passa-faixa)

Seleciona um intervalo de freqüências do sinal (banda de freqüência) para ser realçado, removendo, ou atenuando componentes fora da faixa selecionadaSão de pouca utilidade prática, a menos de algumas tarefas específicas em restauração de imagens

1

f

Resposta em freqüência

Filtro correspondente no domínio espacial

0 t

38

Processamento de ImagensProcessamento de Imagens

Filtragem Não-Linear no Domínio Espacial

Um exemplo típico de filtro passa-baixas não-linear é o filtro da mediana, que suaviza a imagem sem contudo diminuir sua resolução.

No filtro da mediana, os pontos da vizinhança de (x,y), dentro de uma janela na imagem, são ordenados e tomado como novo valor para (x,y) o

valor mediano desta ordenação.

É possível, também, em vez de tomar a mediana da vizinhança, escolher o valor máximo ou o valor de ordem qualquer.

Esta categoria de filtros é conhecida por filtros de ordem.

Uma alternativa que produz resultados interessantes é tomar o valor mais freqüente de uma vizinhança - a "moda", que elimina ruídos pontuais

sem alterar muito as informações da imagem.

39

Processamento de ImagensProcessamento de Imagens

Exemplos de Filtro Não-Linear (Passa-baixas)

Filtro de MedianaSuaviza a imagem sem diminuir sua resolução (borrar);Os pontos da vizinhança de (x,y), dentro de uma janela da imagem, são ordenados e tomado como novo valor para (x,y) o valor mediano desta ordenação.

Filtro de OrdemOs pontos da vizinhança de (x,y), dentro de uma janela da imagem, são ordenados e tomado como novo valor para (x,y) o valor máximo ou o valor de uma ordem qualquer desta ordenação.

Filtro de ModaOs pontos da vizinhança de (x,y), dentro de uma janela da imagem, são ordenados e tomado como novo valor para (x,y) o valor mais freqüente da vizinhançaElimina ruídos pontuais, sem alterar muito as informações da imagem.

40

Processamento de ImagensProcessamento de Imagens

Exemplos de Filtros Não-Lineares

• Imagem original • Imagem com ruído aditivo

• Filtro de média • Filtro de mediana

41

Processamento de ImagensProcessamento de Imagens

Filtros Não Lineares – Detectores de Bordas

Detecção de BordasDetectam características como bordas, linhas, curvas e manchasO problema da detecção de bordas é indicar uma mudança súbita donível de cinza entre duas regiões relativamente homogêneasA maioria dos operadores de detecção de bordas baseia-se numa filtragem passa-altas seguida de um processo de limiarização:

Se a saída do filtro ultrapassar o limiar, uma borda local é detectada, caso contrário a borda não é detectada

Para se obter uma detecção de bordas independente da direção, pode-se efetuar uma filtragem espacial em duas direções ortogonais, vertical (y) e horizontal (x). Estes dois resultados constituirão as componentes de um vetor gradiente:

Operadores mais comuns:RobertsSobel

∇∇

=∇y

x

42

Processamento de ImagensProcessamento de Imagens

Operador RobertsÉ o mais antigo e mais simples algoritmo de detecção de bordas.Roberts introduziu a seguinte operação cruzada (módulo do gradiente):

Que deve ser comparado a um limiar.Devido ao custo computacional, as operações de elevar ao quadrado e raiz quadrada são, muitas vezes substituídas pelo valor absoluto das diferenças cruzadas

)1,(),1()1,1(),(),( +−++++−= yxfyxfyxfyxfyxg

[ ] [ ] 2/122)1,(),1()1,1(),(),(

+−++++−= yxfyxfyxfyxfyxg

43

Processamento de ImagensProcessamento de Imagens

Operador Roberts

Este operador pode ser representado por duas componentes

Como resultado de sua aplicação, obtém-se uma imagem com altos valores de nível de cinza, em regiões de contrastes bem

definidos e valores baixos em regiões de pouco contraste, sendo 0 para regiões de nível de cinza constante.

Uma desvantagem deste operador é a sua assimetriaDependendo da direção, certas bordas são mais realçadas que outras, mesmo tendo magnitude igual.

0-110

-1001

Componente horizontal Componente horizontal

44

Processamento de ImagensProcessamento de Imagens

Efeito da Aplicação do Operador Roberts

45

Processamento de ImagensProcessamento de Imagens

Operador Sobel

Mais sofisticado que o operador Roberts.É dado pela seguinte expressão:

Onde X e Y são as saídas dos filtros dados pelas seguintes máscaras

A máscara X detecta as variações no sentido horizontal e a máscara Y, no sentido vertical.

O operador gradiente de Sobel tem a propriedade de realçar linhas verticais e horizontais mais escuras que o fundo, sem realçar pontos isolados

22),( YXyxg +=

-1-2-1000121

10-120-210-1

YX

46

Processamento de ImagensProcessamento de Imagens

Operador Sobel (continuação)

A detecção de bordas é obtida pela limiarização da magnitude do gradiente

Diferentes valores de limiar resultam em diferentes mapas de bordas.Se o limiar é muito baixo, muitos pontos são marcados como pontos de borda, resultando em bordas grossas ou muitos pontos de bordas isoladosSe o limiar é alto, os segmentos aparecerão finos e quebrados (sem continuidade da borda)

47

Processamento de ImagensProcessamento de Imagens

Efeito da Aplicação do Operador Sobel

48

Processamento de ImagensProcessamento de Imagens

Operador Prewitt

Semelhante ao operador SobelEncontra as bordas utilizando uma aproximação da derivada.Retorna as bordas onde o gradiente da imagem é máximo.É dado pela seguinte expressão:

Onde X e Y são as saídas dos filtros dados pelas seguintes máscaras

111000-1-1-1

-101-101-101

22),( YXyxg +=

X Y

49

Processamento de ImagensProcessamento de Imagens

Efeito da Aplicação do Operador Prewitt

50

Processamento de ImagensProcessamento de Imagens

Prewitt x Sobel

• Imagem Original • Sobel

• Prewitt

51

Processamento de ImagensProcessamento de Imagens

Filtro Laplaciano

É um operador escalar baseado na derivada de 2a ordem.

),(),(),( 2

2

2

22 yxf

yyxf

xyxf

∂+

∂=∇

LaplacianoContraste na borda Gradiente

)(2

2xf

x∂∂

)(xfx∂∂

)(xf

52

Processamento de ImagensProcessamento de Imagens

Operador Laplaciano

O Laplaciano de uma função bidimensional f(x,y) é uam derivada de segunda ordem definida por

A implementação desta equação na forma digital para o casode uma região 3x3 pode ser:

A exigência para a definição do laplaciano digital é que o coeficiente associado com o pixel central seja positivo e que os pixels externos sejam negativosComo o laplaciano é uma derivada, a soma dos coeficientestem que ser nula (toda a vez que o ponto em questão e seus vizinhos tiverem o mesmo valor, a resposta será nula)

2

2

2

22

yf

xff

∂∂+

∂∂=∇

)(4 864252 zzzzzf +++−=∇

53

Processamento de ImagensProcessamento de Imagens

Máscara Espacial do Operador Laplaciano

A máscara espacial que pode ser usada na implementação da equação seria:

0-10-14-10-10

O Laplaciano é um operador linear, invariante à translação e sua função de transferência é zero na origem

do espaço de freqüência.

54

Processamento de ImagensProcessamento de Imagens

Efeito da Aplicação do Operador Laplaciano da Gaussiana

55

Processamento de ImagensProcessamento de Imagens

Operador Canny

Encontra as bordas procurando por um máximo local do gradiente da imagemO gradiente é calculado a partir da derivada de um filtro gaussianoO método usa dois limiares para detectar bordas fortes e fracas e inclui as bordas fracas na saída somente quando elas estiverem conectadas a bordas fortesEste método é menos sensível a ruídos dos que os demais e mais provável de detectar bordas fracas

56

Processamento de ImagensProcessamento de Imagens

Efeito da Aplicação do Operador Canny

57

Processamento de ImagensProcessamento de Imagens

Sobel

Canny

Original

Roberts

Prewitt

Laplaciano