Ferramentas do usuário

Ferramentas do site


prog2:processamento_de_imagens

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
prog2:processamento_de_imagens [2019/09/16 08:58]
maziero [Filtro LBP (Local Binary Patterns)]
prog2:processamento_de_imagens [2019/10/15 13:36] (atual)
maziero [Filtro LBP (Local Binary Patterns)]
Linha 46: Linha 46:
 Exemplo de entrada e de saída: Exemplo de entrada e de saída:
  
-{{lena-original.png|}}+{{lena-original.png|}} ​
 {{lena-negative.png|}} {{lena-negative.png|}}
  
 /* /*
  
-==== Filtro de rotação ====+==== Filtro de rotação ​simples ​====
  
 O filtro de rotação gira uma imagem em 90° no sentido horário. ​ O filtro de rotação gira uma imagem em 90° no sentido horário. ​
Linha 61: Linha 61:
 Exemplo de entrada e de saída: Exemplo de entrada e de saída:
  
-{{lena-original.png|}}+{{lena-original.png|}} ​
 {{lena-rotate.png|}} {{lena-rotate.png|}}
  
 */ */
  
-==== Filtro de rotação ====+==== Filtro de rotação ​livre ====
  
 O filtro de rotação gira uma imagem em um ângulo θ (>0) no sentido **horário**,​ em relação ao seu centro (vide [[https://​en.wikipedia.org/​wiki/​Rotation_matrix#​In_two_dimensions|rotação de imagens 2D]]). O filtro de rotação gira uma imagem em um ângulo θ (>0) no sentido **horário**,​ em relação ao seu centro (vide [[https://​en.wikipedia.org/​wiki/​Rotation_matrix#​In_two_dimensions|rotação de imagens 2D]]).
Linha 82: Linha 82:
 Exemplo de entrada e de saída para θ = 30º: Exemplo de entrada e de saída para θ = 30º:
  
-{{lena-original.png|}}+{{lena-original.png|}} ​
 {{lena-rotate-30.png|}} {{lena-rotate-30.png|}}
  
Linha 98: Linha 98:
 Exemplo de entrada e de saídas com limiar de 50% e 75%: Exemplo de entrada e de saídas com limiar de 50% e 75%:
  
-{{lena-original.png?​200|}}+{{lena-original.png?​200|}} ​
 {{lena-threshold-50.png?​200|}} {{lena-threshold-50.png?​200|}}
 {{lena-threshold-75.png?​200|}} {{lena-threshold-75.png?​200|}}
Linha 121: Linha 121:
 Exemplo de entrada e de saída: Exemplo de entrada e de saída:
  
-{{ballons-original.png|}}+{{ballons-original.png|}} ​
 {{ballons-average.png|}} {{ballons-average.png|}}
 */ */
Linha 144: Linha 144:
 Exemplo de entrada e de saída: Exemplo de entrada e de saída:
  
-{{ballons-original.png|Imagem original}} ​ {{ballons-median.png|Imagem filtrada}}+{{ballons-original.png|Imagem original}} ​→ 
 +{{ballons-median.png|Imagem filtrada}} 
 */ */
  
Linha 153: Linha 155:
 ==== Filtro LBP (Local Binary Patterns) ==== ==== Filtro LBP (Local Binary Patterns) ====
  
-LBP (//Local Binary Patterns//) ou Padrões Binários Locais, é um descritor de textura muito utilizado em algoritmos de reconhecimento de imagens. O funcionamento desse filtro é simples: para cada pixel de uma imagem com 256 níveis de cinza, seleciona-se uma vizinhança de 8 pixels. O valor LBP é então calculado para o pixel central e armazenado na imagem destino, que possui as mesmas dimensões da imagem original.+LBP (//[[https://​en.wikipedia.org/​wiki/​Local_binary_patterns|Local Binary Patterns]]//) ou Padrões Binários Locais, é um descritor de textura muito utilizado em algoritmos de reconhecimento de imagens. O funcionamento desse filtro é simples: para cada pixel de uma imagem com 256 níveis de cinza, seleciona-se uma vizinhança de 8 pixels. O valor LBP é então calculado para o pixel central e armazenado na imagem destino, que possui as mesmas dimensões da imagem original.
  
 Para o cálculo do LBP de um pixel, usa-se uma **máscara** com valores 2<​sup>​n</​sup>,​ com n = {0, ..., 7}, ou seja: 1, 2, 4, 8, 16, 32, 64 e 128. O exemplo abaixo ilustra o cálculo de LBP para o pixel com valor 6: Para o cálculo do LBP de um pixel, usa-se uma **máscara** com valores 2<​sup>​n</​sup>,​ com n = {0, ..., 7}, ou seja: 1, 2, 4, 8, 16, 32, 64 e 128. O exemplo abaixo ilustra o cálculo de LBP para o pixel com valor 6:
Linha 159: Linha 161:
 {{ :​prog2:​lbp.png |Cálculo de LBP}} {{ :​prog2:​lbp.png |Cálculo de LBP}}
  
-Considere o pixel central com valor 6 e seus oito vizinhos na imagem (a). O valor do pixel central é utilizado como limiar e todos os pixels com valor de intensidade maior ou igual a ele recebem 1, caso contrário, 0 (b). Esses valores são então multiplicados pela máscara (c), resultando então nos valores apresentados em (d). O valor LBP do pixel 6 dado pela soma desses valores, ou seja LPB = 1+8+32+128 = 169. Note que essa codificação garante valores LBP entre 0 e 255.+Considere o pixel central com valor 6 e seus oito vizinhos na imagem (a). O valor do pixel central é utilizado como limiar e todos os pixels com valor de intensidade maior ou igual a ele recebem 1, caso contrário, 0 (b). Esses valores são então multiplicados pela máscara (c ), resultando então nos valores apresentados em (d). O valor LBP do pixel 6 é dado pela soma desses valores, ou seja LPB = 1+8+32+128 = 169. Note que essa codificação garante valores LBP entre 0 e 255.
  
 Forma de chamada: Forma de chamada:
Linha 167: Linha 169:
 Exemplo de entrada e de saída: Exemplo de entrada e de saída:
  
-{{:prog2:lbp-in.png|LBP input}} ​  ​{{:prog2:lbp-out.png|LBP output}}+{{lena-original.png|}} → 
 +{{lena-lbp.png|}} 
 + 
 +{{lbp-in.png|LBP input}} ​→ 
 +{{lbp-out.png|LBP output}}
  
 ===== Atividade ===== ===== Atividade =====
prog2/processamento_de_imagens.1568635116.txt.gz · Última modificação: 2019/09/16 08:58 por maziero