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