operações pontuais - decom-ufop · •sua informação é invariante com as operações de...

96
Operações Pontuais Guillermo Cámara-Chávez

Upload: others

Post on 01-Sep-2019

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Operações Pontuais

Guillermo Cámara-Chávez

Page 2: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Um modelo simples de formação de uma imagem

Para que a imagem de uma cena real possa ser processada ou armazenda na forma digital deve passar por dois processos de discretização denominados de:

– Amostragem

– Quantização

Page 3: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Digitalização de uma cena (Sampling & Quantization)

A f(x,y) é digitalizada : - espacialmente

- amplitude

Amostragem : processo de discretização espacial das

coordenadas x e y e dos valores de f

Quantização : processo de conversão das amplitudes

(“brilho/intensidade”) de cada amostra em um

conjunto de níveis ou tons de cinza (gray level).

Page 4: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

t

f(t)

T 2T 3T 4T 5T

D

2D

3D

4D

fq(5T)

f(5T)

Digitalização de uma cena (Sampling & Quantization)

Page 5: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral
Page 6: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Continuous image project onto a sensor array.

Result of image sampling and quantization

Amostragem e Quantização

Page 7: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

O resultado do processo de amostragem e quantização é uma matriz de números reais, representado em uma matriz onde as coordenadas os elementos correspondem ao centro de cada sensor.

)1,1( )1,1( )0,1(

)1,1( )1,1( )0,1(

)1,0( )1,0( )0,0(

),(

NmfMfMf

Nfff

Nfff

yxf

Page 8: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Amostragem e Quantização

• Amostragem: refere-se ao número de pontos amostrados de uma imagem digitalizada (resolução)

• Quantização: quantidade de níveis de tons que pode ser atribuído a cada ponto digitalizados.

Page 9: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Amostragem e Quantização (cont.)

• As imagens reais possuem um número ilimitado de cores ou tons.

• No processamento de imagens é necessário limitar os níveis de cores ou tons possíveis.

Page 10: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Amostragem e Quantização (cont.)

• O sistema visual humana não é muito sensível a variações de intensidade (no máximo 30 diferentes tons de cinza)

• O computador consegue diferenciar qualquer quantidade de níveis de cinza.

Page 11: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Dimensões da matriz e número de níveis de cinza

• O número L, resultante do processo de

quantização, por razões do hardware, é um

inteiro potência de 2:

L = 2 k

Page 12: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Dimensões da matriz e número de níveis de cinza

• Os níveis de cinza são igualmente espaçados e inteiros no intervalo fechado:

Nível de cinza = [ 0 , L -1 ]

– A faixa de valores resultante do processo de quantização é denominada de faixa dinâmica.

– Quando a faixa dinâmica cobre toda a escala de cinza permitida, diz-se que a imagem possui uma faixa dinâmica ampla.

Page 13: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Resolução

128x128 64x64 32x32 16x16

Page 14: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Quantização

256 tons 128 tons 64 tons

Page 15: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Quantização (cont)

function nimg = Quantize(img, nbits)

% quantiza em número de bits

nbitsShift = 8 - nbits;

nimg = bitshift(img, - nbitsShift);

nimg = bitshift(nimg, nbitsShift);

nimg = uint8(Mapping(nimg));

Page 16: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Quantização (cont)

function nimg = Mapping(img)

nimg = double(img);

mmin = min(nimg(:));

nimg = nimg - mmin;

mmax = max(nimg(:));

nimg = (255 * nimg) / mmax;

Page 17: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Histograma de imagem digital

• Indica o percentual de pixels que a imagem tem de um determinado nível de cinza ou cor.

• O histograma de uma imagem cinza é uma função discreta h(l) (vetor) que produz o número de ocorrências de cada nível de cinza 0 <= l <= 2b − 1 na imagem

Page 18: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Histograma de imagem digital

• Pseudocódigo para calcular o histograma

Início h(f(x,y))) = 0 ; {zera contadores de nív. de cinza } Para cada valor f(x,y) faça h(f(x,y)) = h(f(x,y)) + 1 Fim-Para

Fim

Page 19: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Histograma de imagem digital

function mhist = myHist(img) % histograma para imagem em níveis de cinza [row, col] = size(img); mhist = zeros(1, 256); for i = 1 : row for j = 1: col mhist(img(i,j)+1) = mhist(img(i,j)+1) + 1; end end

Page 20: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Histograma de imagem digital

• Através da função imhist podemos calcular o histograma de uma imagem em níveis de cinza

img = imread(‘lenna.png’);

nbins = 256;

histImg = imhist(img, nbins);

plot(histImg);

Page 21: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Histograma de imagem digital

Page 22: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Histograma de imagem digital

Histogramas da imagem lenna em resoluções de 256x256 e 128x128

Page 23: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Histograma de imagem digital

O histograma normalizado h(l)/ |I| representa a distribuição de probabilidade dos valores dos pixels, sendo que I é a imagem e |.| a cardinalidade

Page 24: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Histograma de imagem digital

• Sua informação é invariante com as operações de rotação e translação.

• Podemos considerar um histograma para cada banda espectral ou um histograma 3-D, por exemplo, referente às componentes RGB de uma imagem colorida.

Page 25: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Histograma de imagem digital

Propiedades

1. A informação espacial é perdida, apenas contém a quantidade de pixels com um determinado valor

2. A pdf (probability density function) da imagem é obtida dividindo o histograma pela sua área.

Page 26: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Histograma de imagem digital

3. Se a imagem for construída por duas ou mais regiões disjuntas, o histograma pode ser obtido através da soma dos histogramas destas regiões

Page 27: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Histograma de imagem digital

Page 28: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Histograma de imagem digital

4. Uma imagem possui apenas um histogramas porém um histograma pode pertencer a mais de uma imagem

Page 29: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

h

0 255

h

0 255

Imagem escura Imagem clara

255

h

0

Histograma de imagem digital

Page 30: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Transformaçoes Radiométricas

• Operadores ponto a ponto

• Independem da localização dos pixels na imagem.

• Em termos de implementação, podem ser representadas por look-up-tables (LUT).

• Transformam um pixel de nível de cinza gi em um nível de cinza gf .

Page 31: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Uma tranformação radiométrica r :

• É uma aplicação I(Gi) F(Gf), tal que

Gi = [0,1,...,Ni],

Gf = [0,1,...,Nf] e

)( , , ifffii grgGgGg

Page 32: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Uma tranformação radiométrica r :

Page 33: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Uma tranformação radiométrica r :

Page 34: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Uma tranformação radiométrica r :

Page 35: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Uma tranformação radiométrica r :

Page 36: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Uma tranformação radiométrica r :

S = crᵞ

Page 37: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Uma tranformação radiométrica r :

Page 38: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Gamma correction

Page 39: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Gamma correction

2/1 4/1

Page 40: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Transformaçoes Lineares

• Sejam [l1, l2], li <= l2, e [k1, k2] dois intervalos de cinza no conjunto de valores de I e J.

• A transformação linear (stretching linear) é definida por:

Page 41: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Transformaçoes Lineares

• Normalização em [0,H] (e.g., H = 255): k2 = H, k1 = 0, l1 = lmin, e l2 = lmax, onde lmin e lmax são os valores mínimo e máximo da I

• Negativo: k2 – lmin, k1 = lmax, l1 = lmin, e l2 = lmax

• Limiarização (thresholding): k2 = H, k1 = 0 e l1 = l2

Page 42: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Negativo

gi

gf

0 255

255

Page 43: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Negativo

Page 44: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Expansão de contraste linear

• Adequada para imagens com histogramas de forma gaussiana ou quase-gaussiana

Page 45: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Expansão de contraste linear

Page 46: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Expansão de contraste linear

• Para imagens com histogramas bimodais, fazer expansão linear por partes

Page 47: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Expansão de contraste linear

• Compressão e expansão

Page 48: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Expansão de contraste linear

Page 49: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Expansão de contraste linear

Page 50: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Expansão de contraste linear

Page 51: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Constraste e Brilho

Lineares:

• z’ = a.z + b, onde

a: contraste e

b: brilho

Page 52: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Constraste e Brilho

• Operação identidade

Page 53: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Constraste e Brilho

• Expansão do contraste

Page 54: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Constraste e Brilho

• Exemplo z’= 1.5 * z

Img = imread(‘lenna.png’);

nimg = 1.5 * double(img);

Imshow(uint8(nimg));

Page 55: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Constraste e Brilho

• Compressão do contraste

Page 56: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Constraste e Brilho

• Ejemplo z'= 0.5*z

img = imread('lenna.png);

nimg = double(img) * 0.5;

imshow(uint8(nimg));

Page 57: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Constraste e Brilho

• Operação de escala

Page 58: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Constraste e Brilho

• Ejemplo z'= z + 80

img = imread('lenna.png');

nimg = double(img) + 80;

imshow(uint8(nimg));

Page 59: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Constraste e Brilho

• Imagem negativa

Page 60: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Constraste e Brilho

• Ejemplo z'= -z + 255

img = imread('lena.gif');

nimg = 255 – double(img);

imshow(uint8(nimg));

Page 61: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Aplicação de limiar

• 2 níveis

Page 62: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Aplicação de limiar

Algoritmo function new_img = Binariza(img, thresh)

[fil, col] = size(img);

new_img = zeros(fil, col);

ind = img >= thresh;

new_img(ind) = 255;

Page 63: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Aplicação de limiar

Exemplo : limiar = 127

Page 64: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Aplicação de limiar

• Limiar com fundo

Page 65: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Aplicação de limiar

Algoritmo function new_img = BinarizaFondo(img,

thresh)

[fil, col] = size(img);

new_img = zeros(fil, col);

ind = img >= thresh;

new_img(ind) = img(ind);

Page 66: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Aplicação de limiar

• Exemplo: a = 127

Page 67: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Aplicação de limiar

• Fatiamento por plano

Page 68: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Aplicação de limiar

Page 69: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Aplicação de limiar

Page 70: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Aplicação de limiar

Algoritmo function new_img = CortePlano(img,

a,b,k)

[fil, col] = size(img);

new_img = zeros(fil, col);

ind = find(img > a & img < b);

new_img(ind) = k;

Page 71: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Aplicação de limiar

• Ejemplo: a= 150, b = 200, k = 255

Page 72: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Aplicação de limiar

• Fatiamento por plano com fundo

Page 73: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Aplicação de limiar

• Fatiamento por plano com fundo

Page 74: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Transformação Exponencial

• Pode ser definida por:

• O primeiro caso aumenta o contraste no intervalo [lmin, lmax].

• O segundo aumenta o contraste em relação a um valor μ

Page 75: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Transformação Logaritmica

• Reduz a dinâmica da imagem (intervalo de brilho), sendo muito utilizada para visualizar a magnitude de Fourier

onde I – {I1, I2} contém a parte real de I1 e a imaginária de I2 do espectro

Page 76: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Transformação Radiométricas

Page 77: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização de Histograma

• Objetivo: normalização e/ou aumento de contraste

Page 78: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização de Histograma

Page 79: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização de Histograma

Page 80: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização histográmica

Page 81: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização histográmica

Page 82: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização histográmica

Fundamentos

• Histograma: função de distribuição de probabilidade (DF), h = imhist(img);

• Histograma normalizado: função de densidade de probabilidade (PDF) , hn=imhist(img) / size(img);

• Integração do HN: função cumulativa de distribuição, Ihn = cumsum(hn);

Page 83: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização histográmica

• Transformação radiométrica que visa aumentar a dinâmica dos níveis de cinza melhorando, por exemplo, o contraste de imagens obtidas sob péssimas condicões de iluminação.

• Idéia: gerar uma distribuição mais uniforme dos níveis de cinza um histograma planar.

Page 84: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

f

g

gk =T(fk)

1

Equalização histográmica

Page 85: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Consideremos, agora, a seguinte função T(f):

que representa a função de distribuição cumulativa (FDC)

de f (esta função é monotonicamente crescente e varia de 0 a 1 em função de f).

• Conclusão: se T(f) é uma FDC, então ela pode ser

empregada na definição de uma nova imagem cuja distribuição dos níveis de cinza será mais uniforme.

f

f dwwpfTg0

1f0 )()(

Equalização histográmica

Page 86: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

• Imagem:

n=M x N pixels com valores discretos k = 0,1,...,L-1:

• onde: nk = número de aparições do nível k

pf(fk) = probabilidade de ocorrência de fk Assim:

10 )( kk

kf fn

nfp

.1,...,1,0 e 10 ),()(00

Lkffpn

nfTg k

k

j

jf

k

j

j

kk

Equalização histográmica

Page 87: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização histográmica

Page 88: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização histográmica

Page 89: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização histográmica

Page 90: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização histográmica

function nimg = EcualizacionHistograma(img)

[fil, col] = size(img); %dim. da imagen

N = fil * col; % numero total de pixels

hist = imhist(img) / N; %calcula o hist.norm

histAcumNorm = cumsum(hist); % hist. acum.

nimg = histAcumNorm(img+1);

nimg = uint8(nimg*255);

Page 91: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização histográmica

Page 92: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização histográmica

Page 93: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Equalização histográmica

img = imread(‘lenna.png’);

nimg = histeq(img);

Imshow(nimg);

Page 94: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Exercícios Propostos

1. Implementar a função que permita quantizar uma imagem a n quantidade de cores, onde n não é necessariamente uma potência de 2.

2. Modifique a função Mapping(), de forma tal que é o usuário quem determina qual é o menor e o maior valor dentro na nova escala.

Page 95: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Exercícios Prospostos (cont)

3. Criar a função que calcula o histograma de uma imagem colorida.

A partir de uma imagem colorida com b = 8 (0-255) bits para cada componente I1 (red), I2 (green), e I3 (blue), nós podemos dividir cada eixo do Z3 em 4 intervalos: [0, 63], [64, 127], [128, 191], e [192, 255] . A contagem de cores em cada bin é usada no cálculo do histograma.

Page 96: Operações Pontuais - DECOM-UFOP · •Sua informação é invariante com as operações de rotação e translação. •Podemos considerar um histograma para cada banda espectral

Exercícios Prospostos (cont)

Sistema RGB