processamento de imagens - pucrs
TRANSCRIPT
1
Processamento de Imagens
Prof. Dr. Márcio Sarroglia Pinho
2
Histogramas
Histogramas
Equalização
http://www.generation5.org/content/2004/histogramEqualization.asp
alpha = 255 / numPixels for each pixel g(x,y) = cumulativeFrequency[f(x,y)] * alpha end for
3
Remoção de Ruído
Salt and Pepper
Salt and Pepper Média Mediana
Remoção de Ruído
Filtro da Mediana edgex := (window width / 2) rounded down edgey := (window height / 2) rounded down for x from edgex to image width - edgex: for y from edgey to image height - edgey: colorArray[window width][window height]; for fx from 0 to window width: for fy from 0 to window height: colorArray[fx][fy] :=
pixelvalue[x + fx - edgex][y + fy - edgey] Sort colorArray[][]; pixelValue[x][y] :=
colorArray[window width / 2][window height / 2];
http://en.wikipedia.org/wiki/Median_filter
4
Remoção de Ruído
Filtro da Mediana para imagens monocromáticas
1 1 1
1 0 1
1 1 1
0 0 0
0 1 0
0 0 0
Cálculo de Áreas int Area(x,y) { if (Image(x,y) == ON) { Image(x,y) = OFF; Para Cada Vizinho (I,J) de (x,y) { Acc = 1 + Area(I,J); } return Acc; }else return 0;
• Remoção de ruído • Identificação de Objetos
5
Segmentação de Imagens
Segmentação por descontinuidades Segmentação por limiar Segmentação orientada a regiões Segmentação por texturas
Segmentação por descontinuidades
Matrizes de Convolução
6
Segmentação por descontinuidades
Segmentação de pontos isolados
Ponto isolado = Ponto que se destaca dos demais
Segmentação por descontinuidades
Segmentação de linhas
Horizontal Vertical +45 -45
7
Segmentação por descontinuidades
Segmentação de bordas Vetor de Gradiente
Direção Magnitude
Segmentação por descontinuidades
Segmentação de bordas Aplica a Convolução Verifica se a magnitude é maior que um
certo valor
Magnitude limite = 192
8
Segmentação por Limiar
Segmentação por limiar único
Segmentação por Limiar
Segmentação por limiares múltiplos
9
Segmentação por Limiar Escolha do Limiar
Média das Intensidades Área da imagem
Metade branca Metade preta
Segmentação por Limiar
Percentual da área a ser segmentada Texto: +/- 15% de uma página
10
Segmentação por Limiar
Iteração Seletiva Valor inicial do Limiar
Média das Intensidades
Próximo valor
Segmentação por Limiar
Pelos dois picos Limiar = Ponto mínimo entre os 2 picos
11
Segmentação Orientada a Regiões
Baseia-se em Conectividade Há um caminho do ponto I até o ponto J
Parâmetros Semente Condição de Parada
Segmentação Orientada a Regiões
Crescimento de Regiões Amplia a região a partir de um ponto
Divisão de Regiões Divide a região caso não haja similaridade
entre seus pontos
Divisão-União
12
Segmentação por texturas
Utilizando as cores dos pixels
Médias das cores dos pontos
Segmentação por texturas
Utilizando as cores dos pixels No caso ao lado é preciso encontrar outro
‘descritor’
13
Segmentação por texturas
Utilizando as cores dos pixels Momentos
Segmentação por texturas
Utilizando as cores dos pixels Mediana
É o valor do ‘meio’ da distribuição
Grau de Simetria Quanto a distribuição do dados está equilibrada
em relação à mediana
Curtose Quão achatada é a distribuição
14
Segmentação por texturas
Utilizando o histograma Medidas de Probabilidade
Entropia
Energia
0 1 1
Segmentação por texturas
Medidas Estruturais Partição Binária Local
Oito bits ao redor de um ponto b1b2b3b4b5b6b7b8
Usa o número como um tom de cinza
15
Segmentação por texturas
Medidas Estruturais Bordas
Densidade Direções Magnitude
Segmentação por texturas
Medidas Estruturais Matrizes de co-ocorrência de níveis de
cinza Cada elementos [i,j] informa o número de
transições entre os níveis de cinza i e j na imagem
16
Segmentação por texturas
Medidas Estruturais Matrizes de Comprimento de Corrida Cada elementos [i,j] informa o número de
corridas de tamanho j compostas por pixeis de intensidade I Linhas: Intensidade Colunas: Comprimento da Corrida [Linhas,Colunas]: número de Ocorrências