A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Funções de Transformação de

Apresentações semelhantes


Apresentação em tema: "Funções de Transformação de"— Transcrição da apresentação:

1 Funções de Transformação de
Intensidade Básicas Transformações de intensidade e filtragem espacial O termo domínio do espaço refere-se ao agrupamento de pixels que compõem uma imagem. Os métodos de processamento no domínio espacial são procedimentos que operam diretamente sobre os pixels da imagem. Duas importantes categorias de métodos de processamento no domínio do espaço: a) transformações de intensidade b) filtragem espacial

2 Funções de Transformação de
Intensidade Básicas Funções de processamento digital de imagens no domínio espacial podem ser expressas como: g(x,y) = T[f(x,y)], onde f(x,y) é a imagem de entrada e g(x,y) é a imagem de saída e T é um operador sobre f definido sobre alguma vizinhança de (x,y).

3 Funções de Transformação de
Intensidade Básicas A principal técnica para definir uma vizinhança sobre (x,y) é o uso de uma região quadrada ou retangular centrada em (x,y). O centro da região é movido por todos os pixels da imagem de entrada f, aplicando o operador T a cada posição (x,y) para produzir g(x,y).

4 Funções de Transformação de
Intensidade Básicas As Funções de Transformação de Intensidade podem ser classificadas como: pontual - quando o valor de saída na coordenada especificada depende somente do valor de entrada da mesma coordenada; Local - quando o valor de saída na coordenada especificada depende dos valores de entrada na vizinhança desta coordenada; Global – quando o valor de saída na coordenada especificada depende dos valores dos pixels de toda a imagem.

5 Funções de Transformação de Intensidade Básicas
a1) Funções de Transformação de Intensidade Pontuais A forma mais simples de T é quando a vizinhança é 1x1. Neste caso g depende apenas do valor de f na posição (x,y) e é chamado de processamento pontual. T é dita ser uma função de transformação de níveis de cinza da forma: s = T(r), onde r e s denotam os níveis de cinza de f(x,y) e g(x,y) no ponto (x,y).

6 4. Image Enhancement in the
Spatial Domain T é dita ser uma função de transformação de níveis de cinza da forma: s = T(r), onde r e s denotam os níveis de cinza de f(x,y) e g(x,y) no ponto (x,y). 0 se r < m s= T(r) = 1 se r  m s= T(r) = 1/(1+(m/r)E E=20

7 Funções de Transformação de Intensidade Básicas

8 Funções de Transformação de Intensidade Básicas
Imagens Negativas O negativo de uma imagem com niveis de cinza no intervalo [0,L-1] é obtida por s = L-1-r matlab disponibiliza a função g = imcomplement(f); f = imread('Fig0304(a)(breast_digital_Xray).tif');

9 Funções de Transformação de
Intensidade Básicas

10 Funções de Transformação de Intensidade Básicas
Transformações log s = c log(1+r), em que c é uma constante e r >= 0 Objetivo: mapear intervalos estreitos de valores de baixa intensidade em intervalos mais largos de valores de alta intensidade. O oposto ocorre para valores altos nos níveis de entrada. É usado para expandir valores baixos e comprimir valores altos Mat2gray – traz os valores para [0,1]. Maior valor é mapeado para 1 e o menor valor para 0 Uint8 – mapeia [0,1] para [0,255] O mapeamento eh necessario para garantir niveis de cinza realizaveis

11 Funções de Transformação de Intensidade Básicas
Transformação log em matlab: f = imread(‘Fig0305(a)(DFT_no_log).tif’); g = im2uint8(mat2gray(log(1+double(f))))); Imshow(f); Figure, imshow(g); Note valores de f e de g e dos resultados intermediários

12 Funções de Transformação de Intensidade Básicas
Transformações exponenciais (correção gamma) s = c . rᵧ Sendo c e ᵧ constantes positivas.

13 Funções de Transformação de Intensidade Básicas
Vários dispositivos usados para capturar imagens, imprimir e exibir imagens respondem de acordo com funções exponenciais; Imagens que não são propriamente corrigidas aparecem muito escuras; Exemplo: A reposta intensidade-voltagem dos monitores de tubo de raios catódicos é uma função exponencial com expoente variando entre 1.8 e 2.5;

14 Funções de Transformação de Intensidade Básicas
Vista pelo monitor – gamma = 2.5 Correção gamma = 0.4 =1/2.5 Imagem final no monitor

15 Funções de Transformação de Intensidade Básicas
Implementação em matlab c=1; gm = 0.3; g = im2uint8(mat2gray((double(f)+eps).^gm)); x = 0:255; y = c * (x+eps).^gm; plot (y); Eps evita overflow se f tem algum valor = 0

16 Funções de Transformação de Intensidade Básicas
Imagem escura, aplica gamma < 1 -> 0.6, 0.4, 0.3

17 Funções de Transformação de Intensidade Básicas
Imagem clara, gamma > 1 -> 3,4,5

18 Funções de Transformação de Intensidade Básicas
Funções de Transformação baseada em divisões lineares (piecewise-linear) Vantagem: sua forma pode ser arbitrariamente complexa; Desvantagem: requer mais entradas dada pelo usuário.

19 Funções de Transformação de Intensidade Básicas
Contrast streching pontual- aumenta o intervalo dinâmico dos níveis de cinza da imagem sendo proces-sada. A posição de (r1,s1) e (r2,s2) contro-lam a função de trans-formação T(r), Para preservar a ordem dos níveis de cinza em geral assumimos r1  r2 e s1  s2,

20 Funções de Transformação de Intensidade Básicas
Slicing gray level - aumenta o brilho em uma região de interesse.

21 Funções de Transformação de
Intensidade Básicas Bit plane slicing (recorte baseado em planos de bits) - decompões a imagem de acordo com os bits do numero que representa os níveis de cinza de um pixel; Considere que cada pixel da imagem seja representado por 8 bits e a imagem formada por 8 planos de 1 bit. O plano 0 contém todos os bits menos significativos da imagem e o plano 7 contém todos os bits mais significativos.

22 Funções de Transformação de Intensidade Básicas
Decomposição da imagem em bit-planes: Permite analisar a importância relativa de cada bit na imagem; Ajuda a definir o numero adequado de bits para quantizar uma imagem; Útil para compressão de imagens;

23 Funções de Transformação de Intensidade Básicas
f = imread(‘Fig0314(a)(100-dollars).tif'); g = im2uint8(mat2gray(mod(floor(double(f)./128),2))); %encontra a imagem final gg = mod(floor(double(f)./1),2); %encontra a matriz de zeros e uns – util para reconstrucao

24 Funções de Transformação de Intensidade Básicas
Imagem reconstruída usando bit planes 7 e 8 g1 = imread('dollar-bitplane8.tif'); g2 = imread('dollar-bitplane7.tif'); gg1 = g1./255*128; gg2 = g2./255*64; gfinal = gg1+gg2

25 Funções de Transformação de Intensidade Básicas
a2) Processamento de Histogramas São funções de transformação de intensidade baseadas em informações extraídas do histograma de intensidade da imagem. As funções baseadas em histogramas são globais ou locais Histograma é uma das ferramentas mais simples e úteis para o PDI; é uma função que mostra a frequência com que um nível de cinza aparece na imagem; A exibição gráfica do histograma para todos os valores de níveis de cinza K providencia uma descrição global de uma imagem.

26 Funções de Transformação de Intensidade Básicas
imagem escura imagem clara imagem com baixo contraste imagem com alto contraste

27 Funções de Transformação de Intensidade Básicas
Um histograma pode ser visto como uma função de distribuição de frequencia ou como uma função de distribuição de probabilidade Histograma como função de distribuição de probabilidade é dada por p(rk) = nk / n De maneira geral dizemos que p(rk) dá uma estimativa da probabilidade de ocorrência do nível de cinza rk na imagem.

28 Propriedades do Histograma
Funções de Transformação de Intensidade Básicas Propriedades do Histograma as informações espaciais não são representadas; um histograma é único para uma determinada imagem, mas o inverso não é verdadeiro; a movimentação de objetos em uma imagem não tem qualquer efeito sobre o seu histograma.

29 Funções de Transformação de Intensidade Básicas
Usando o Matlab: imhist(f); % obtém o histograma da imagem f e exibe de uma forma padrão. Outras maneira de exibir um histograma: -- grafico de barras : hist_barra (filename); -- grafico de linhas(stem):hist_stem(filename); -- grafico funçao (plot): hist_plot(filename).

30 Funções de Transformação de Intensidade Básicas
Equalização de histograma É uma transformação dos níveis de cinza de uma imagem que visa aumentar o intervalo dinâmico melhorando o contraste de imagens adquiridas sob péssimas condições de iluminação. É uma transformação global É útil para comparar cenas que foram adquiridas com iluminação diferente (normaliza a imagem) De modo geral o que se procura é obter um mapeamento não linear dos níveis de cinza da imagem de entrada de tal forma que a imagem resultante contenha uma distribuição mais uniforme dos seus níveis de cinza ( um histograma plano)

31 Funções de Transformação de Intensidade Básicas
Equalização de histogramas Seja r , definida no intervalo [0,L-1], a variável que representa os níveis de cinza na imagem a ser realçada. Considere que os valores dos pixels são quantidades continuas no intervalo [0,L-1] com 0 representando preto e L-1 representando branco. Um transformação T no intervalo [0,1] é tal que: s = T(r) , 0 ≤ r ≤ L-1

32 Funções de Transformação de
Intensidade Básicas A função de transformação T para equalizar um histograma deve satisfazer as seguintes condições: (a) T(r) deve ser estritamente monotonicamente crescente no intervalo 0  r  L-1 ; esta condição garante que a saída nunca será menor do que a entrada, o que evita artefatos na imagem processada. (b) 0  T(r)  L-1 para 0  r  L-1; esta condição garante que o intervalo de intensidades de saída é o mesmo que o intervalo de intensidades de entrada. A transformação inversa r=T-1(s) também deve satisfazer as condições (a) e (b) para garantir a recuperação da imagem original

33 Funções de Transformação de Intensidade Básicas

34 Funções de Transformação de Intensidade Básicas
Os níveis de intensidade podem ser vistos como variáveis randômicas no intervalo [0,1]; Um descritor importante de uma variável randômica é FDP; Seja ps(s) e pr(r) FDP de s e r respectivamente; Seja pr(r) e T(r) conhecidas, sendo T(r) continua e diferenciável no intervalo de interesse.

35 Funções de Transformação de Intensidade Básicas
Dado um intervalo dr em pr(r) e ds em ps(s) mapeado por T(r), temos que: ps(s) ds = pr(r) dr; ps(s) = pr(r) dr/ds; Uma função de transformação muito usada é a função de distribuição acumulativa

36 Funções de Transformação de Intensidade Básicas
Para encontrar ps(s): ds/dr = dT(r)/dr ( regra de Leibniz – a derivada de uma integral limitada com respeito ao seu limite superior é igual é igual à integração avaliada neste limite); ds/dr = ds/dr = (L-1)pr(r)

37 Funções de Transformação de Intensidade Básicas
Sabendo que ps(s) = pr(r) dr/ds e ds/dr = (L-1)pr(r) Então ps(s) = pr(r). 1/(L-1) pr(r); ps(s) = 1/(L-1) para 0 ≤ s ≤ L-1 ps(s) é um FDP uniforme independente da forma de pr(r)

38 Funções de Transformação de Intensidade Básicas
Inlcuir exemplo numerico

39

40 Funções de Transformação de Intensidade Básicas
Equalização de Histograma para o caso discreto Dada uma imagem contendo M x N pixels, assumindo valores discretos k = 0,1,2,...,L-1: pr(rk) = nk / MN sk = T(rk) = Pr(rj) para j=0,1,2,...,k T(rk) é a função de distribuição de probabilidade acumulativa ps(s) não será uniforme em função dos arredondamentos necessários para se obter os valores discretos para sk

41 Funções de Transformação de Intensidade Básicas
A imagem processada é obtida mapeando cada pixel da imagem de entrada com intensidade rk no pixel correspondente com nível sk na imagem de saída.

42 Funções de Transformação de Intensidade Básicas
Exemplo: L = 8, imagem 64x64, MN = 4096 rk nk Pr(rk) T(rk) sk 790 0.19 7*0.19=1.33 1 1023 0.25 7*0.44=3.08 3 2 850 0.21 7*0.65=4.55 5 656 0.16 5.67 6 4 329 0.08 6.23 245 0.06 6.65 7 122 0.03 6.86 81 0.02 7.00

43

44 Funções de Transformação de Intensidade Básicas

45 Funções de Transformação de Intensidade Básicas
Em matlab: imhist(f); %mostra o histograma de f histeq(f); %equaliza a imagem f equaliza(filename);

46 Funções de Transformação de Intensidade Básicas
Processamento local de histograma: realce local útil para realçar detalhes de áreas pequenas é obtido aplicando a equalização de histograma para uma vizinhança de cada pixel da imagem. Somente o valor do pixel centrado na vizinhança é modificado. O centro da região é então movida para o pixel adjacente e o procedimento é repetido.

47 Funções de Transformação de Intensidade Básicas

48 Funções de Transformação de Intensidade Básicas
uso de estatística de histograma para realçar imagens Seja r uma variável randômica correspondendo uma intensidade luminosa no intervalo [0,L-1] Seja p(ri) a componente do histograma normalizado para ri.

49 Funções de Transformação de Intensidade Básicas
nth momento de r é dado por: Um momento importante é n=2 (variancia)

50 Funções de Transformação de Intensidade Básicas
Exemplo: L = 4, imagem 5x5 p(ro) = 6/25 = 0.24 p(r1) = 7/25 = 0.28 p(r2) = 7/25 = 0.28 p(r3) = 5/25 = 0.20 m = (0)0.24+(1)0.28+(2)0.28+(3)0.20 = 1.44

51 Funções de Transformação de Intensidade Básicas
Uso de média e variância para melhorar imagens: K0 valor positivo, menor que 1 K1 e k2 valores positivos maiores que 1 para melhorar áreas claras K1 e k2 valores positivos menores que 1 para melhorar áreas escuras

52 Funções de Transformação de
Intensidade Básicas Imagem original, imagem equalizada e imagem processada estatisticamente (E=4; k0=0.4, k1 = 0.02, k2=0.4 e uma vizinhança 3x3).

53 Funções de Transformação de Intensidade Básicas
Exercícios: Faça uma função em matlab para melhorar uma dada imagem usando estatística de histogramas. A função deve receber como parâmetros : o arquivo da imagem, k0,k1,k2 e E


Carregar ppt "Funções de Transformação de"

Apresentações semelhantes


Anúncios Google