Processamento de Imagemsheilacaceres.com/courses/tapfe/pi/PI-4-Histograma.pdf · 2014-09-24 · Ex...
Transcript of Processamento de Imagemsheilacaceres.com/courses/tapfe/pi/PI-4-Histograma.pdf · 2014-09-24 · Ex...
Processamento de Imagem
Histograma da ImagemProfessora Sheila Cáceres
Process. de Imagem - Prof. Sheila Cáceres 2
Histograma
É a distribuição de frequência dos níveis de cinza da imagem onde cada entrada no eixo x representa o nível de cinza específico e o eixo y representa o número de ocorrências de cada nível de cinza.
Process. de Imagem - Prof. Sheila Cáceres 3
Histograma
O histograma de uma imagem cinza é uma função h(i) discreta.
O histograma é representado por um vetor h que produz o número de ocorrências na imagem de cada nível de cinza (i) no intervalo [0,Lmax].
Process. de Imagem - Prof. Sheila Cáceres 4
Histograma
O histograma de uma imagem cinza é uma função h(i) discreta.
O histograma é representado por um vetor h que produz o número de ocorrências na imagem de cada nível de cinza (i) no intervalo [0,Lmax].
Process. de Imagem - Prof. Sheila Cáceres 5
Não contem informação sobre a disposição espacial dos pixels na imagem pois o objetivo é prover informação estatística em forma compacta.
Assim, não é possível reconstruir uma imagem usando somente seu histograma.
Diversas imagens podem ter o mesmo histograma como:
Process. de Imagem - Prof. Sheila Cáceres 6
Histograma: Algoritmo
Para i = 0 até 2^b − 1 façah(i) ← 0
Para p=0 até nx*ny façah( f(p) ) ← h( f(p) ) + 1
Na representação vetorial:
Process. de Imagem - Prof. Sheila Cáceres 7
Histograma: Algoritmo
Para i = 0 até 2^b − 1 façah(i) ← 0.
Para x=0 até nx façaPara y=0 até ny faça
h( f(x,y) ) ← h( f(x,y) ) + 1
Na representação matricial:
Process. de Imagem - Prof. Sheila Cáceres 8
Histograma Normalizado
O histograma normalizado representa a distribuição de probabilidade dos valores dos pixels.
A normalização acontece dividindo cada número de ocorrência de um nível de cinza entre o número total de pixels.
Uma vez computado h(i), podemos adicionar no final dos algoritmos anteriores: h(i) = h(i) / (nx*ny)
Process. de Imagem - Prof. Sheila Cáceres 9
Histograma
Várias medidas estatísticas podem ser obtidas a partir do histograma de uma imagem tais como valores mínimo e máximo, valor médio, variância e desvio padrão dos níveis de cinza da imagem.
O histograma pode mostrar alguns problemas originados durante a etapa de adquisição e resultados de processos aplicados sobre a imagem.
O histograma permite analisar diversas características da imagem. Com esse intuito, precisamos entender os conceitos de brilho e contraste.
Process. de Imagem - Prof. Sheila Cáceres 10
Brilho
Associado à sensação visual da intensidade luminosa de uma fonte.
Discriminar níveis de brilho distinto pelo sistema visual humano representa um fator importante para apresentar resultados envolvendo imagens digitais.
Sensibilidade do olho ao brilho possui resposta logarítmica em relação à luz incidente no olho (empiricamente).
Process. de Imagem - Prof. Sheila Cáceres 11
Brilho
O brilho percebido pelo olho não corresponde a uma função linear da intensidade.
Ex 1-Bandas de Mach: Fenômeno descoberto pelo físico Ernst Mach (1838-1916).
As linhas sólidas representam as intensidades reais, enquanto as linhas tracejadas representam o brilho percebido pelo olho humano.
Process. de Imagem - Prof. Sheila Cáceres 12
Brilho
Ex 2-Contraste simultâneo: o brilho aparente de uma região depende fortemente da intensidade do fundo (todos os quadros centrais possuem a mesma intensidade)
Ex 3-Anel de Benussi-Koffka: ex de contraste simultâneo, um anel com intensidade uniforme aparenta ter brilho diferente quando uma reta separa os fundos da imagem.)
Process. de Imagem - Prof. Sheila Cáceres 13
ContrasteAlguns conceitos:
Medida da variação da intensidade luminosa.
Rango de intensidades efetivamente usados dentro da imagem e a diferença entre os valores mínimo e máximo.
O contaste pode ser descrito como a diferença nas propriedades visuais que faz com que um objeto seja distinguível de outros e do plano de fundo.
Pode-se avaliar o contraste de uma imagem observando o seu histograma.
Histograma → pretoLog (histograma) → cinza
Process. de Imagem - Prof. Sheila Cáceres 14
Contraste
Figuras (a)-(c): imagens de baixo contraste (escalas de cinza estreitas).
Figura (d): valores de cinza melhor distribuídos ao longo da escala → alto contraste.
Process. de Imagem - Prof. Sheila Cáceres 15
Contraste
Baixo contraste Contraste normal Alto contraste
Process. de Imagem - Prof. Sheila Cáceres 16
Faixa dinâmica
Número de valores distintos em uma imagem.
Em um caso ideal a faixa dinâmica usa todos os valores de pixels possíveis (faixa completamente usada).
Faixa alta Faixa Baixa Extremamente baixa faixa
Process. de Imagem - Prof. Sheila Cáceres 17
Exposição
A exposição de uma foto é a quantidade de luz recebida pelo o sensor da câmera para esta foto.
Histogramas também mostram problemas de exposição.
subexposta exposta corretamente subexposta
Process. de Imagem - Prof. Sheila Cáceres 18
O baixo contraste de uma imagem (faixa estreita) pode ser melhorado transformando os valores existentes para usar uma faixa maior de valores.
A faixa dinâmica só pode ser incrementada introduzindo técnicas artificiais (não obtidas com o sensor ou câmera) como interpolação.
Imagens com maior rango são desejáveis pois sofrem menor degradação da imagem no processamento da imagem e compressão, por isso as câmeras trabalham com mais de 8 bits (incrementam o rango dinâmico) pois o dispositivos de saída muitas vezes são incapazes de produzir mais de 256 tons.
Process. de Imagem - Prof. Sheila Cáceres 19
Impacto da compressão de imagens
A compressão de imagens muda a imagem sendo isto percebido no histograma.
Ex: Após compressão Gif, a faixa dinâmica é reduzida.
Histograma original
Histograma após conversão Gif
Histograma da img reescalada a 50% e interpolada
Process. de Imagem - Prof. Sheila Cáceres 20
Impacto da compressão de imagens
A Figura mostra quando um gráfico simples (só cinzas 128 e 255) é comprimido como JPEG (projetado para imagens de cores).
Histograma original com dois valores de cinza
Histograma após conversão JPEG
(grande número de valores de cinza – imagem de baixa qualidade)
Process. de Imagem - Prof. Sheila Cáceres 21
Histograma de img multiespectrais
Cada banda pode ser requantizada em um certo número de intervalos, de forma que o espaço de intensidades é dividido em hipercubos.
Por exemplo para uma imagem colorida com 3 bandas: red, green, blue, supondo que temos b=8 (256 tons) para cada banda, poderíamos dividir cada componente (representado num eixo) em 4 intervalos [0-63], [64-127], [128-191], e [192-255].
A contagem de cores em cada bin seria usada no cálculo do histograma.
Process. de Imagem - Prof. Sheila Cáceres 22
Histogramas das Bandas de Cor
Process. de Imagem - Prof. Sheila Cáceres 23
Histograma Acumulado
Para cada valor de cinza no histograma equalizado H(i), teremos a soma de todos os valores h(j) já percorridos do histograma normalizado original (ou seja j ≤ i).
Definição:
É útil para fazer diversas operações sobre as imagens como equalização de histograma.
Histograma original
Histograma Acumulado
Process. de Imagem - Prof. Sheila Cáceres 24
Transformações
Process. de Imagem - Prof. Sheila Cáceres 25
Transformação da Escala de Cinza
Servem para melhorar a qualidade das imagens sob critérios subjetivos ao sistema visual humano.
O intervalo de contraste é a diferença entre os valores de intensidade máximo e mínimo que f(x,y) pode assumir.
Quando uma imagem não ocupa todo o intervalo de cinza possível pode-se ampliar o intervalo de contraste → Mapeando o intervalo original para a variação máxima do dispositivo d visualização (geralmente no intervalo [0,255]).
Assim, cada valor de cinza da img original é mapeado para um novo valor de cinza
Process. de Imagem - Prof. Sheila Cáceres 26
Transformação da Escala de Cinza
A função de mapeamento ou transformação T pode ser descrita como:
g=T(f)
onde f representa níveis de cinza da img original e g da imagem modificada
Dois exemplos de transformações são ilustrados a seguir
Process. de Imagem - Prof. Sheila Cáceres 27
Transformação da Escala de Cinza
A função de mapeamento ou transformação T pode ser descrita como:
g=T(f)
onde f representa níveis de cinza da img original e g da imagem modificada
Dois exemplos de transformações são ilustrados a seguir
Process. de Imagem - Prof. Sheila Cáceres 28
Transformações Lineares Escolha de T determina qual será o efeito visual obtido e
deve ser escolhida de acordo com a imagem original e o efeito desejado.
Uma transformação linear pode ser descrita como:
g=af+b
Onde a controla a escala de níveis de cinza e b ajusta seu brilho.
Para mapear os valores de intensidade de f para g, pode-se utilizar a transformação:
Note que o valor de a determina se o intervalo será expandido (a>1), comprimido (a<1) ou permanece (a=1)
Onde:b=gmin
a=
Process. de Imagem - Prof. Sheila Cáceres 29
Transformações Lineares
Process. de Imagem - Prof. Sheila Cáceres 30
Transformações Não Lineares
Podem ser utilizadas para realçar detalhes específicos na imagem.
Process. de Imagem - Prof. Sheila Cáceres 31
Transformações Não Lineares
Process. de Imagem - Prof. Sheila Cáceres 32
Transformações Não Lineares (exemplos)
A transformação pelo logaritmo propicia um realce maior nos pixels de baixa intensidade (regiões escuras).
Como logaritmo não é definida para o valor 0, podemos realizar
g = T(f) = a log (f+1)
Onde a é um fator de ajuste ou normalização para manter os valores de intensidades resultantes dentro do intervalo válido.
Raiz Quadrada seria descrita por
g = T(f) = a sqrt(f)
Process. de Imagem - Prof. Sheila Cáceres 33
Limiarização
Process. de Imagem - Prof. Sheila Cáceres 34
Limiarização
É uma das técnicas mais simples de segmentação.
Consiste na classificação dos pixels de uma imagem de acordo com a especificação de um ou mais limiares.
Process. de Imagem - Prof. Sheila Cáceres 35
Limiarização Global
Processo pelo qual se escolhe um único valor de limiar para segmentar toda a imagem.
No histograma mostrado na imagem, o s pixels dos objetos e os do fundo mostram seus níveis de cinza separados em dois grupos dominantes (histograma bimodal): binarização .
O valor do limiar será o que melhor separa os dois picos (T).
1: Objeto0: Fundo
Process. de Imagem - Prof. Sheila Cáceres 36
Seleção correta do valor do limiar é crucial para que a segmentação produza bons resultados.
Process. de Imagem - Prof. Sheila Cáceres 37
Limiarização Global
A maneira mais direta de selecionar um valor global de limiar é a partir da distribuição das intensidades dos pixels na imagem.
Desvantagem:
Muitos pontos de mínimo ou máximo local podem existir na imagem.
Nem sempre as intensidades de objeto e fundo são bem distintas (devido a baixo contraste, ruido)
Process. de Imagem - Prof. Sheila Cáceres 38
Limiarização Global Vários métodos têm sido propostos para encontrar os
pontos de máximo (picos) e mínimo (vale) entre eles.
As distribuições de intensidade dos pixels podem ser modeladas como funções de densidade de probabilidades (ex: função gaussiana)
Para cada distribuição, a média e a variância são calculadas e o limiar é escolhido tal que o erro definido por essas funções de probabilidade seja minimizado. (dificuldade: estimativa de parâmetros)
Process. de Imagem - Prof. Sheila Cáceres 39
Ridler e Calvard propuseram um método para selecionar iterativamente o valor de limiar baseado em distribuições Gaussianas.
Process. de Imagem - Prof. Sheila Cáceres 40
Limiarização Local
Quando um único limiar para segmentar toda a imagem não produz bons resultados, pode-se usar limiarização local
Limiarização é o processo de utilizar múltiplos valores de limiar para segmentar a imagem.
Uma forma comum d realizar a limiarização local é analisar as intensidades dos pixels em uma região da imagem para determinar limiares locais.
Process. de Imagem - Prof. Sheila Cáceres 41
Algumas medidas estatísticas simples para calcular um limiar local são a média ou mediana dos valores de intensidades em uma vizinhança local da imagem
Process. de Imagem - Prof. Sheila Cáceres 42
Bibliografia
PEDRINI, H. e SCHWARTZ, W. R., "Análise de Imagens Digitais", São Paulo, Thomson, 2008, 508p e slides.
FALCÃO, A. (http://www.ic.unicamp.br/~afalcao/mo443/)
Digital Image Processing, An Algorithmic Introduction using Java. De Wilhelm Burger e Mark James Burge
Várias imagens foram extraídas do material mencionado acima com fines didáticos.