Prévia do material em texto
PROCESSAMENTO DE
IMAGENS
AULA 2
Prof. Charles Way Hun Fung
2
CONVERSA INICIAL
Nesta aula vamos abordar o tema de histograma, este gráfico apresenta
a distribuição dos pixels segundo os valores de níveis de cinza da imagem.
Esta distribuição é útil para compreender algumas características da imagem,
como o contraste e o valor médio do brilho. Vamos modificar essa distribuição,
de forma a realçar a imagem. Bons estudos!
TEMA 1 – CONCEITO DE HISTOGRAMA
O histograma de uma imagem consiste em um gráfico, normalmente
apresentado em barras, que apresenta a distribuição dos pixels nos níveis de
cinza. Cada barra pode representar uma faixa de valores de níveis de cinza,
quanto maior o número de barras, menor a faixa de valores e maior a precisão
do histograma. A visualização do histograma indica algumas características na
imagem, como contraste e brilho médio.
Para elemento do histograma é calculado da seguinte forma:
𝑝𝑟(𝑟𝑘) =
𝑛𝑘
𝑛
(1)
Onde:
k = 0, 1, ..., L-1, onde L é o número de níveis de cinza da imagem digitalizada;
n é o número de pixels da imagem;
0≤rk≤1;
pr(rk) é a probabilidade do k-ésimo nível de cinza;
nk é número de pixels cujo nível de cinza corresponde a k.
Para exemplificar um histograma os dados de uma imagem 128 x 128
são apresentados na tabela 1. Nesta imagem há 8 níveis de cinza.
3
Tabela 1 - Valores dos pixels distribuídos por níveis de cinza.
Fonte: Marques Filho, 1999.
A partir da tabela 1 é possível criar o gráfico do histograma apresentado
na figura a seguir:
Figura 1 - Histograma de exemplo.
Fonte: Marques Filho, 1999.
No histograma podemos retirar algumas informações: A probabilidade de
um pixel apresentar o nível de cinza rk, a distribuição dos pixels pelos níveis de
cinza, qual nível de cinza é o mais presente na imagem. Também podemos
perceber que o histograma é uma função de probabilidade de um pixel, por isso
segundo os axiomas da teoria de probabilidade a soma de pr(rk) tem que ser
igual a 1.
A seguir são apresentados cinco histogramas, cada um com uma
característica bem específica.
4
Figura 2 - Exemplos de histograma.
Fonte: Marques Filho, 1999.
O histograma apresentado em 2(a) possui uma grande quantidade de
pixels com valores baixos, isto indica que a imagem tende a ser mais escura. Em
2(b) ocorre o oposto, a maior parte dos pixels possuem valores altos, indicando
que a imagem tende a ser mais clara. No caso 2(c) possui a maioria dos pixels
com valor médio, indicando que a imagem possui brilho médio. Em 2(d) é uma
imagem com pixels bem distribuídos, esta característica mostra que a imagem
tem um bom contraste. Para 2(e) temos uma imagem chamada bimodal, onde a
concentração dos pixels é grande em duas faixas distinta de níveis de cinza. No
caso na área escura e na área clara, por isso podemos afirmar que a imagem
possui um alto contraste entre as duas concentrações.
Para deixar mais claro, apresentamos a seguir as imagens
correspondentes aos histogramas apresentados na figura 2.
5
Figura 3 - Imagens correspondentes aos histogramas da figura 2.
Fonte: Marques Filho, 1999.
TEMA 2 – FUNDAMENTO DE TRANSFORMAÇÕES DE INTENSIDADE
Nesta aula iniciaremos com técnicas de modificação de histograma,
conhecidas também como técnicas ponto a ponto. Pois após o processamento
o valor do pixel só depende do valor original. Diferente de técnicas que usam são
orientadas à vizinhança, o resultado depende dos valores que estão em volta do
pixel.
Suponha uma variável f que representa os níveis de cinza em uma
imagem. Assumindo que a escala de cinza é normalizada então:
0 ≤ 𝑓 ≤ 1
Onde 0 representa preto e 1 representa branco.
6
Sendo f no intervalo [0,1], podemos determinar uma função de
transformação de intensidade:
𝑔 = 𝑇(𝑓) (2)
A função g irá fazer um mapeamento do valor de cada pixel em um novo
valor, para isto devem satisfazer duas condições (Marques Filho, 1999):
I. Devem retornar um único valor para cada valor distinto de f e devem
crescer monotonicamente no intervalo 0≤f≤1.
II. 0≤T(f)≤1para 0≤f≤1.
As funções de transformação de intensidade g podem ser lineares ou não
lineares. Para o caso linear, g pode ser descrita como:
𝑔 = 𝑐𝑓 + 𝑏 (3)
Onde c é usado para controlar o contraste e b é usado para controle do
brilho. A seguir são apresentados alguns exemplos de transformação linear:
Figura 4 - Transformação de intensidade linear.
Fonte: Marques Filho, 1999.
Na figura 4 podemos perceber que alterando o coeficiente c alteramos o
coeficiente angular da reta, ou seja, podemos controlar o contraste, aumentando
a diferença entre quantidade de pixels pretos e brancos como em (b) e (d). O
brilho controlado por b influencia no limite inferior de g.
A transformação não linear pode ser descrita pela equação a seguir
(Marques Filho, 1999):
7
𝑔 = 31,875 log2(f + 1) (4)
Esta equação é representada na figura a seguir:
Figura 5 - Transformação de intensidade não linear.
Fonte: Marques Filho, 1999.
Equalização de histograma:
Esta é uma técnica utilizada para uniformizar o histograma, de forma que
o número de pixels em cada tom de cinza seja praticamente o mesmo. Para isto
os valores dos tons de cinza devem ser redistribuídos na imagem usando uma
função de distribuição. A forma mais comum utilizada é a função de distribuição
acumulada(cdf-cumulative distribution function) da distribuição de
probabilidades, que pode ser expressa por:
𝑠𝑘 = 𝑇(𝑟𝑘) = ∑
𝑛𝑗
𝑛
= ∑ 𝑝𝑟(𝑟𝑗)
𝑘
𝑗=0
𝑘
𝑗=0
(5)
Onde:
n é o número de pixels da imagem;
0≤rk≤1;
pr(rj) é a probabilidade do j-ésimo nível de cinza;
nj é número de pixels cujo nível de cinza corresponde a j.
A inversa desta função:
𝑟𝑘 = 𝑇
−1(𝑠𝑘) 𝑝𝑎𝑟𝑎 0 ≤ 𝑠𝑘 ≤ 1 (6)
Para deixar mais claro este conceito iremos resolver um exemplo
(Marques filho, 1999), página 62:
8
Seja o histograma da tabela 1, ilustrado graficamente na figura 1, ambas
reproduzidas a seguir para maior facilidade. Equalizá-lo utilizando a função de
distribuição acumulada e plotar o histograma resultante.
Tabela 2 - Distribuição dos pixels da imagem original
Figura 6 - Histograma original.
Fonte: Marques Filho, 1999.
Solução:
Calculando a cdf como função de transformação:
𝑠0 = 𝑇(𝑟0) = ∑ 𝑝𝑟(𝑟𝑗)
0
𝑗=0
𝑠0 = 𝑝𝑟(𝑟0) = 0,068
De forma similar podemos calcular:
𝑠1 = 𝑇(𝑟1) = ∑ 𝑝𝑟(𝑟𝑗)
1
𝑗=0
𝑠1 = 𝑝𝑟(𝑟0) + 𝑝𝑟(𝑟1) = 0,264
s2=0,560;
s3=0,769;
9
s4=0,891;
s5=0,939;
s6=0,972;
s7=1;
A função resultante é apresentada no gráfico a seguir:
Figura 7 - Função de transformação usada na equalização.
Fonte: Marques Filho, 1999.
Como foram usados 8 níveis de cinza, cada valor de sj será arredondado
para um valor múltiplo de 1/7:
s0≈0;
s1≈2/7;
s2≈4/7;
s3≈5/7;
s4≈6/7;
s5≈1;
s6≈1;
s7≈1;
Agora que o mapeamento foi realizado, podemos fazer uma análise em
relação a distribuição original dos pixels. O nível r0=0 foi mapeado para s0=0,
neste caso não ocorreu nenhuma alteração. Porém os pixels que estavam no
tom 1/7 foram remapeados para s1=2/7. Da mesma forma os pixels com tom de
cinza 2/7 foram para 4/7. Os pixels r=3/7 foram para 5/7 e os pixels r=4/7 foram
mapeados para 6/7. As três últimas raias 5/7, 6/7 e 1 serão somados e formaram
a raia 1. Assim a tabela do histograma equalizado é apresentado a seguir:
10
Tabela 3 - Distribuição dos pixels da imagem equalizada
Figura 8 - Histograma equalizado.
Fonte: Marques Filho, 1999.
TEMA 3 – ESPECIFICAÇÃO DE HISTOGRAMA
Na aula anterior estudamos sobre histogramas e como fazer a
equalização. Na equalização é possível apenas manipular a função de
distribuição acumulada cdf (cumulative distribution function)para remapear a
distribuição dos pixels de acordo com os níveis de cinza. Porém mesmo assim
há situações que se deseja especificar um tipo de mudança no histograma. Para
isto, utilizamos uma técnica chamada especificação direta de histograma
(Marques Filho, 1999).
Nesta metodologia temos como dados de entrada a imagem, o histograma
desta imagem e o histograma desejado. Então, primeiramente devemos
equalizar os níveis da imagem original usando a cdf discreta:
𝑠𝑘 = 𝑇(𝑟𝑘) = ∑
𝑛𝑗
𝑛
= ∑ 𝑝𝑟(𝑟𝑗)
𝑘
𝑗=0
𝑘
𝑗=0
(7)
Onde:
n é o número de pixels da imagem;
11
0≤rk≤1;
pr(rj) é a probabilidade do j-ésimo nível de cinza;
nj é número de pixels cujo nível de cinza corresponde a j.
Em seguida equalizar o histograma (função de densidade de
probabilidade) desejado.
𝑣𝑘 = 𝐺(𝑧𝑘) = ∑ 𝑝𝑧(𝑧𝑗)
𝑘
𝑗=0
(8)
Após isto, aplicar a função de transformação inversa aos níveis do
primeiro passo:
𝑧 = 𝐺−1(𝑠) (9)
Vamos resolver um exemplo para colocar esta metodologia em
prática(Marques Filho, 1999):
Considere o histograma apresentado na tabela 4, deseja-se modificar este
histograma de modo que a distribuição de pixels resultante seja aquela
apresentada na tabela 5.
Tabela 4 - Histograma da imagem original
Fonte: Marques Filho, 1999.
12
Tabela 5 - Histograma desejado
Fonte: Marques Filho, 1999.
Inicialmente iremos equalizar o histograma original, este exercício foi
realizado no tema anterior, então usaremos o resultado:
Tabela 6 - Histograma equalizado
Fonte: Marques Filho, 1999.
A seguir vamos obter a cdf da distribuição de probabilidade desejada:
𝑣0 = 𝐺(𝑧0) = ∑ 𝑝𝑧(𝑧𝑗)
0
𝑗=0
𝑣0 = 𝑝𝑧(𝑧0) = 0
𝑣1 = 𝐺(𝑧1) = ∑ 𝑝𝑧(𝑧𝑗)
0
𝑗=0
𝑣1 = 𝑝𝑧(𝑧0) + 𝑝𝑧(𝑧1) = 0
Seguindo o raciocínio, calculamos o resto dos valores da distribuição:
v2=0;
v3=0,1;
13
v4=0,3;
v5=0,7;
v6=0,9;
v7=1;
O passo seguinte é fazer a inversa, neste caso teremos que buscar para
cada valor de sk um valor de vk que mais se aproxima dele. Exemplo: Para o
valor s1 = 2/7 = 0,286 é G(z4) = 0,3. Então, G-1(0,3) = z4.
A explicação para esta inversa é que os pixels que inicialmente foram
mapeados para s1=2/7 na equalização, agora serão mapeados para z4.
Seguindo este raciocínio:
s0 = 0 → z2
s1 = 2/7≈0,286 → z4
s2 = 4/7≈0,571 → z5
s3 = 5/7≈0,714 → z5
s4 = 6/7≈0,857 → z6
s5 = 1 → z7
s6 = 1 → z7
s7 = 1 → z7
A tabela a seguir resume o que foi calculado:
Tabela 7 - Especificação de histograma
Fonte: Marques Filho, 1999.
A seguir a tabela 8 apresenta o resultado final da especificação de
histograma:
14
Tabela 8 - Resultado da especificação de histograma
Fonte: Marques Filho, 1999.
Os gráficos a seguir apresentam uma comparação entre o histograma
desejado e o obtido.
Figura 9 - (a) Histograma desejado, (b) Histograma obtido.
Fonte: Marques Filho, 1999.
O histograma obtido foi o que mais se aproxima do desejado, dentro das
condições do problema.
Leitura complementar: Sessão 3.3.2 de (Gonzalez, 2010), apresenta
diversas outras técnicas para especificação de histograma.
TEMA 4 – LIMIARIZAÇÃO (THRESHOLDING) DE HISTOGRAMA
Também conhecida como binarização consiste em separar a imagem em
duas regiões: objeto e o fundo. Essa técnica consiste em definir um valor de
limiar (threshold) T para tons de cinza, os pixels que possuírem o valor acima de
T são considerados brancos e os abaixo pretos. Matematicamente podemos
definir a limiarização como:
𝑔(𝑥, 𝑦) = {
1, 𝑠𝑒 𝑓(𝑥, 𝑦) ≥ 𝑇
0, 𝑠𝑒 𝑓(𝑥, 𝑦) < 𝑇
(10)
15
Onde f(x,y) é a imagem com N níveis de cinza e g(x,y) é a imagem de
saída, que é chamada de imagem limiarizada ou binarizada. O resultado dessa
operação é uma imagem binária, onde o histograma apresentará dois picos e um
vale, conforme apresentado na figura a seguir:
Figura 10 - Limiarização de uma imagem monocromática.
Fonte: Marques Filho, 1999.
A figura 10(a) apresenta a distinção entre os valores acima e abaixo do
limiar T. Para ilustrar esta técnica a figura 11(a) apresenta um histograma e 11(b)
a imagem em níveis de cinza. As figuras 12(a) e 12(c) apresentam a mesma
imagem com dois limiares diferentes, mostrados em 12(b) e 12(d).
Figura 11 - Imagem de exemplo.
Fonte: Marques Filho, 1999.
16
Figura 12 - Resultado das imagens limiarizadas.
Fonte: Marques Filho, 1999.
A iluminação pode influenciar no resultado da limiarização, para verificar
isto suponha uma imagem com nomenclatura f(x,y), foi definido em aulas
anteriores que:
𝑓(𝑥, 𝑦) = 𝑖(𝑥, 𝑦). 𝑟(𝑥, 𝑦) (11)
Onde i é a iluminação de uma determinada fonte e r é o resultado da
reflexão da luz da fonte no pixel amostrado. Projetando o padrão de iluminação
em uma superfície refletora branca, teremos a imagem:
𝑔(𝑥, 𝑦) = 𝐾. 𝑖(𝑥, 𝑦) (12)
Onde K depende da superfície utilizada. Dessa forma, para qualquer
imagem f(x,y) obtida usando esta função de iluminação, podemos dividir f(x,y)
por g(x,y), obtendo uma função normalizada:
ℎ(𝑥, 𝑦) =
𝑓(𝑥, 𝑦)
𝑔(𝑥, 𝑦)
=
𝑟(𝑥, 𝑦)
𝐾
(13)
17
Se r(x,y) for limiarizada usando um limiar T, h(x,y) poderá ser segmentada
usando o limiar T/K. A figura a seguir ilustra a modificação causada pela
iluminação:
Figura 13 - Influência da iluminação.
Fonte: Marques Filho, 1999.
TEMA 5 – OUTRAS TÉCNICAS APLICADAS EM HISTOGRAMA
Hiperbolização:
Esta é uma técnica usada para corrigir a equalização do histograma,
considerando a resposta visual do olho humano, de acordo com o valor individual
de cada pixel. Uma característica marcante é que o histograma da imagem tem
na saída uma forma hiperbólica. A equalização do histograma é realizada em
duas etapas: A primeira é a aplicação da técnica hiperbolização e a segunda
executada pela retina. A figura a seguir ilustra o uso da hiperbolização.
18
Figura 14 - Uso da técnica de hiperbolização.
Fonte: Marques Filho, 1999.
A figura 14(a) e (b) apresentam uma imagem e seu histograma. Na figura
14(c) e (d) apresenta a imagem equalizada. Em 14(e) e (f) são mostrados a
imagem e seu respectivo histograma após a técnica da hiperbolização.
Hiperbolização quadrática:
Esta técnica leva em consideração o sistema visual periférico humano,
esta abordagem considera que o olho se acomoda à intensidade média da cena
observada e não pixels individuais como a técnica anterior. Por isso, o resultado
é uma distribuição mais espaçada dos níveis de cinza, com menor concentração
na região escura do histograma (Marques Filho, 1999). A seguir será ilustrado o
uso da hiperbolização quadrática.
Figura 15 - Aplicação da hiperbolização quadrática no histograma.
Fonte: Marques Filho, 1999.
19
Expansão de histograma (Input cropping):
Essa técnica consiste em modificar o histograma de imagem, de forma
que parte dele é expandida para ocupar toda a faixa de cinza da imagem. A
figura a seguir ilustra essa técnica.
Figura 16 - Expansão de histograma.
Fonte: Marques Filho, 1999.
Também pode-se utilizar essa técnica para aprimoramento de contraste,
como mostrado na figura a seguir:
Figura 17 - Expansão de histograma para aprimoramento de contraste.
Fonte: Marques Filho, 1999.
Compressão de histograma (Output cropping):
Consiste na ideia da redução de contraste de uma imagem, para isto há
uma modificação no histograma, de forma que as raias passam a ocupar apenas
um trecho da faixa total dos níveis de cinza. A imagem a seguir ilustra esta
técnica aplicada em um histograma:
20
Figura 18 - Compressão de histograma.
Fonte: Marques Filho, 1999.
Outra ilustração desta técnica em uma imagem monocromática
mostrada pela figura a seguir:
Figura 19 - Compressão de histograma aplicada em uma imagem
monocromática.
Fonte: Marques Filho, 1999.
FINALIZANDONesta aula aprendemos sobre o uso do histograma, através dele é
possível compreender diversas características de uma imagem. Como a
distribuição do brilho da imagem e o contraste. Além disto, pode-se modificar o
histograma para melhorar o realce da imagem. Para isto, foi estudada a
equalização de histograma, a ideia desta técnica é fazer uma redistribuição dos
pixels pelos níveis de cinza, de forma a homogeneizar a distribuição. Porém tem
aplicações que precisam de um realce de uma determinada forma especificada.
Neste caso é aplicada outra técnica chamada especificação de histograma, esta
consiste em modificar o histograma para torná-lo o mais próximo possível de um
histograma desejado.
21
Além de modificar o histograma, foi aprendido sobre limiares que podem
ser colocados para separar os níveis de cinza da imagem. Assim, separando a
imagem em duas regiões bem definidas: valores acima do limiar e valores abaixo
do limiar. Essa técnica chamada limiarização realça uma característica da
imagem baseada no nível de cinza. Para finalizar foram vistas outras técnicas
como a hiperbolização da imagem, expansão e compressão do histograma.
Essas técnicas são usadas de forma situacional, mas sempre são um recurso
valioso no realce de uma imagem.
22
REFERÊNCIAS
GONZALEZ, R. C.; WOODS, R. E. Processamento Digital de Imagens. 3. ed,
Pearson: São Paulo, 2010.
MARQUES FILHO, O.; VIEIRA NETO, H. Processamento Digital de Imagens.
1. Ed. Brasport: Rio de Janeiro, 1999.
OPPENHEIN, A. V.; WIILLSKY, A. S.; NAWAB, H. Sinais e Sistemas. 2. ed.
Pearson: São Paulo, 2010.
LATHI, B. P. Sinais e Sistemas Lineares. 2. ed. Bookman: Porto Alegre, 2007.