Operações envolvendo imagens
> Computação Gráfica
Histograma
> Se o nível de cinza l ocorre nl vezes em imagem
com n pixels, então:
nl
P(l ) 
n
> Histograma da imagem é uma representação
gráfica de nl ou P(l)
2
Histograma
Histograma
nl
Imagem
1
0
0
3
3
0
0
3
3
3
1
1
1
3
3
> Imagem 3X5 (L=4)
3
7
6
5
4
3
2
1
0
0
1
2
3
l
> Histograma da imagem
Histograma
nl
nl
nl
0
255
l
0
255
l
0
> Distribuição dos níveis de cinza da imagem
4
255
l
Algoritmo
> Criar um vetor para o armazenamento
da freqüência de ocorrência de TODOS
os níveis de cinza da imagem f(i,j);
> Inicializar o vetor com valores nulos
para TODOS os elementos;
> Varrer a matriz de imagem pixel a
pixel, armazenando no vetor cada
ocorrência registrada.
5
Histograma
6
Expansão de histograma
> Pode produzir uma imagem mais rica em detalhes
7
Expansão de histograma
8
Equalização de histograma
9
Equalização de histograma
> Imagem com distribuição de níveis de cinza uniforme
> Útil para realçar diferenças sutis entre níveis de cinza
próximos e leva, em muitos casos, a um aumento
substancial no nível de detalhes perceptíveis.
10
Equalização de histograma
 L 1 r 
s  T (r )  round
 nl 
 RC l 0 
11
Equalização de histograma
> Algoritmo
- Obter histograma
- Para cada nível de cinza do vetor de histograma
aplicar a transformação de equalização e
armazenar o valor obtido associando ao nível de
cinza que o originou.
- Para cada pixel da imagem de saída atribuir o
valor obtido com a equalização do nível de cinza
da imagem de entrada.
12
Equalização do histograma
> Imagem 64x64, L=8
 L 1 r 
s  T (r )  round
 nl 
 RC l 0 
13
Equalização de histograma
14
 L 1 r 
s  T (r )  round
 nl 
 RC l 0 
Equalização de histograma
nl
nl
Hist. Original
0
L-1
15
L-1
l
0
nl
Hist. Equal. (Ideal)
m0
m1
L-1
l
0
Hist. Equal. (Real)
L-1
l
Equalização de histograma -> expansão
16
Filtros de suavização
> Reduz variações bruscas de níveis de cinza
entre pixels adjacentes
> Podem ser utilizados para redução de ruído ou
interferências na imagem
> Média, Moda, Mediana
> Vizinhança n x m
17
Filtros suavização
> Média:
• Média dos valores dos pixels da imagem em uma
•
vizinhança de (i,j) contendo n pixels.
Reduz fortemente a definição das bordas dos objetos
> Mediana:
Valor do pixel central de um conj. de n pixels
ordenados por valor, se n for ímpar, e a média dos
valores centrais, se n for par.
18
- melhor preservação das bordas, comparado ao filtro
da média.
Filtros suavização
> Moda:
Moda dos valores dos pixels de f em uma vizinhança
de (i,j) contendo n pixels.
- Para valores igualmente freqüentes , pode-se definir
como o valor de g(i,j) a média ou mediana destes
valores.
19
original
ruidosa
Média
3x3
20
Média
5x5
Mediana
3x3
Moda
3x3
21
Mediana
5x5
Moda
5x5
22
23
24
25
Filtros de aguçamento e
detecção de bordas
> Efeito contrário ao de suavização: acentuam
variações de intensidade entre pixels
adjacentes.
> Baseados no gradiente de funções
bidimensionais.
> Módulo do vetor Gradiente de f(x, y):
2 1 / 2
26
 f 2  f 
 
G[ f ( x, y )]       
y  
 x 



Filtros de detecção de bordas
> g(i, j): aproximação discreta do módulo do vetor
gradiente em f(i, j).
> Aproximações usuais:
Gradiente de Roberts:
g(i,j) = {[f(i,j)-f(i+1,j+1)]2+[f(i+1,j)-f(i,j+1)]2}1/2
g(i, j) = |f(i,j)-f(i+1,j+1)| + |f(i+1,j)-f(i,j+1)|
27
Gradiente de Roberts
28
Limiares 15, 30 e 60
Filtros de detecção de bordas
Gradiente de Prewitt:
g(i, j) = |f(i+1,j-1) + f(i+1, j) + f(i+1, j+1)
- f(i-1, j-1) - f(i-1, j) - f(i-1, j+1)|
+|f(i-1, j+1) + f(i, j+1) + f(i+1, j+1)
- f(i-1, j-1) - f(i, j-1) - f(i+1, j-1)|
29
Filtros de detecção de bordas
Gradiente de Sobel:
g(i, j) = |f(i+1, j-1) + 2f(i+1, j) + f(i+1, j+1)
- f(i-1, j-1) - 2f(i-1, j) - f(i-1, j+1)|
+ |f(i-1, j+1) + 2f(i, j+1) + f(i+1, j+1)
- f(i-1, j-1) - 2f(i, j-1) - f(i+1, j-1)|
30
Gradiente de Prewitt
31
Leitura Recomendada
> Gonzalez, R. C.; Woods, R. E.
Processamento de Imagens
Digitais.
Filtragem Espacial
32
Download

f - Unipe