Pratica2 PDI
Pratica2 PDI
Pratica2 PDI
Filtragem Espacial
Filtragem Espacial
CHARLES WAY HUN FUNG
Sumário
Filtragem Espacial .......................................................................................................................... 2
Detecção de Pontos Isolados ..................................................................................................... 2
Detecção de linhas ..................................................................................................................... 3
Detecção de Bordas ................................................................................................................... 5
Máscaras de Roberts ............................................................................................................... 6
Máscaras de Prewitt................................................................................................................. 7
Máscaras de Sobel .................................................................................................................. 7
Inserindo Ruído em Imagens...................................................................................................... 8
Filtro de média.......................................................................................................................... 11
Filtro de mediana...................................................................................................................... 12
Referências................................................................................................................................... 12
Para implementarmos esta matriz no SciLab inicialmente iremos fazer a leitura das imagens
house.tif.
Agora para aplicar a máscara na imagem, ou em outras palavras vamos aplicar o filtro para
detecção de pontos, devemos aplicar a convolução entre a máscara e a imagem:
Antes de aplicar a convolução temos que converter os pixels da imagem em real, para poder
realizar a operação:
Detecção de linhas
Segundo (Gonzalez, 2010), as linhas podem ter diversas direções, por isso podemos usar
existem diversas máscaras para realizar estas detecções. Estas terão uma ênfase maior em uma
determinada direção, a seguir são apresentadas estas matrizes:
Perceba que para cada matriz os maiores valores apresentam a direção que esta máscara.
Podemos realizar uma convolução diferente para cada uma das máscaras apresentadas:
Detecção de Bordas
Bordas são usadas para segmentar uma imagem baseada em variações abruptas da
intensidade dos pixels. As bordas podem ser modeladas seguindo três modelos:
Figura 5 – Modelo de bordas: (a) Degrau, (b) Rampa, (c) Telhado (Roof).
Para fazer a detecção de borda podemos seguir alguns modelos propostos de máscaras
que existem na literatura como apresentado na figura a seguir:
Máscaras de Roberts
Inicialmente iremos inserir as máscaras de Roberts no SciLab para então aplicar na imagem, temos:
(b)
(a)
(a) (b)
Máscaras de Sobel
- Sistemático
- Aleatório.
O primeiro tipo de ruído é causado pelo sistema de processamento da imagem, dentre os erros
possíveis de ocorrer são: Striping, que consiste em uma falha sistemática no detector e line drop
que é uma falha na atribuição de um valor de pixel.
No segundo caso são erros causados pelo meio ou por alguma interferência externa, esta causa
erros de bit alterando distribuição de pixels da imagem.
No SciLab podemos inserir diversos tipos de ruído, aqui no curso utilizaremos apenas dois tipos
muito conhecidos em processamento de imagens: Gaussiano e “Sal e Pimenta”.
Onde:
- Tipo de ruído: Deve ser o nome do ruído em inglês entre aspas simples, utilizaremos: ‘gaussian’ e
‘salt & pepper’.
- Densidade de ruído: Pode-se considerar que é a variação do ruído que varia de 0 a 1. Por padrão
tem valor 0.05.
Exemplos:
(a) (b)
(c) (d)
(a) (b)
(c) (d)
Figura 11 – Imagem com ruído sal e pimenta. (a) Imagem original, (b) Imagem com ruído de 0.05,
(c) Imagem com ruído 0.5 e (d) Imagem com ruído 0.7.
O filtro de média consiste no cálculo da média dos pontos que estão sub a máscara,
produzindo um ponto de saída. Este ponto normalmente é o ponto central da máscara.
Os filtros de média em conjunto com os filtros de mediana são filtros usados para suavizar a
imagem, ou seja, estes filtros causam um borramento na imagem.
Para fazer uso deste filtro no Scilab deve-se usar a função fspecial() para criar o filtro, então
aplica-lo usando a função imfilter. A seguir vamos compreender os parâmetros de funcionamento
desta função:
A função fspecial pode ser usada para criar diversos tipos de filtros, desde detectores de borda
a filtros de média. No caso específico de filtro de média:
filtro=fspecial(‘average’,<tamanho>)
Exemplo:
Figura 12 – (a) Imagem original, (b) Imagem com ruído sal e pimenta de 0.05, (c) Imagem
ruidosa suavizada por um filtro de média 3x3.
Este filtro segue o mesmo padrão do filtro de média, porém o valor de saída é o valor da
mediana dos valores que estão sub a máscara.
Para fazer uso deste filtro no SciLab deve-se fazer uso da função immedian():
ImagemFiltrada = immedian(<Imagem>,<tamanho>);
Onde:
Figura 13 – (a) Imagem original, (b) Imagem com ruído sal e pimenta de 0.05, (c) Imagem
ruidosa suavizada por um filtro de mediana 3x3.
Referências