Pular para conteúdo

Definição de Templates

Introdução

Templates generalizados

Templates generalizados são imagens cujos valores são também imagens.

Generalizam conceitos importantíssimos como:

  • Máscaras
  • Janelas
  • Vizinhanças
  • Elementos estruturantes de morfologia
  • etc.

Definição Formal

Definição formal

Conjuntos de Coordenadas

Sejam \( \mathbf{X} \) e \( \mathbf{Y} \) conjuntos de coordenadas (pontos).

Template

Um template é uma imagem em que cada ponto (pixel) é associado a uma outra imagem (função).

Particularmente, um template \( \mathbb{F} \)-valorado de \( \mathbf{Y} \) para \( \mathbf{X} \) é uma função:

\[ \mathbf{t} : \mathbf{Y} \rightarrow \mathbf{F}^{\mathbf{X}} \]

Deste modo, \( \mathbf{t} \in (\mathbb{F}^{\mathbf{X}})^{\mathbf{Y}} \) e \( \mathbf{t} \) é uma imagem \( \mathbb{F}^{\mathbf{X}} \)-valorada em \( \mathbf{Y} \).


Notação

Notação

Para simplificar a notação, definimos:

\[ \mathbf{t}_{\mathbf{y}} \equiv \mathbf{t}(\mathbf{y}), \quad \forall \mathbf{y} \in \mathbf{Y} \]

A imagem \( \mathbf{t}_{\mathbf{y}} \) tem então a seguinte representação:

\[ \mathbf{t}_{\mathbf{y}} = \{(\mathbf{x}, \mathbf{t}_{\mathbf{y}}(\mathbf{x})) : \mathbf{x} \in \mathbf{X}\} \]

Pesos do Template

Os valores dos pixels na imagem \( \mathbf{t}_{\mathbf{y}}(\mathbf{x}) \) são chamados de pesos do template em \( \mathbf{y} \).


Exemplo Visual

Exemplo visual

A figura mostra uma imagem em \( \mathbf{X} \) e \( \mathbf{Y} \) (em cinza) contendo os pontos associados a um template.

Estrutura

  • Cada \( \mathbf{y} \in \mathbf{Y} \) é associado a um template \( 3 \times 3 \) à direita
  • O ponto correspondente a \( \mathbf{y} \) no template está hachurado

Template 3×3 no exemplo

1 -1 1
1 2 1
1 -1 1

O valor central (hachurado) é 2, representando o peso do pixel central.


Exemplo Numérico (Padrão MATLAB)

Exemplo numérico

No "padrão MATLAB", teríamos os pesos \( \mathbf{t}_{\mathbf{y}}(\mathbf{x}) \) no 1º ponto \( \mathbf{y} = (2, 2) \) como:

Posição Valor
\( \mathbf{t}_{(2,2)}(1, 1) = 1 \) \( \mathbf{t}_{(2,2)}(1, 2) = -1 \)
\( \mathbf{t}_{(2,2)}(2, 1) = 1 \) \( \mathbf{t}_{(2,2)}(2, 2) = 2 \)
\( \mathbf{t}_{(2,2)}(3, 1) = 1 \) \( \mathbf{t}_{(2,2)}(3, 2) = -1 \)

Já para o 2º ponto \( (2, 3) \):

\[ \mathbf{t}_{(2,3)}(2, 3) = 1 \qquad \mathbf{t}_{(2,3)}(3, 3) = 2 \]

Resumo

Conceito Descrição
Template Imagem cujos valores são também imagens
Notação \( \mathbf{t} : \mathbf{Y} \rightarrow \mathbb{F}^{\mathbf{X}} \)
Imagem associada \( \mathbf{t}_{\mathbf{y}} = \mathbf{t}(\mathbf{y}) \)
Pesos Valores \( \mathbf{t}_{\mathbf{y}}(\mathbf{x}) \)

Notas Importantes

Notas

NOTA 1

É comum que \( \mathbf{Y} \subseteq \mathbf{X} \) (mas não obrigatório).

NOTA 2

Pesos definidos em todo o domínio \( \mathbf{X} \) da imagem original.

NOTA 2.1

Porém costumam ser 0 ou \( -\infty \) fora de uma região particular (ver noção de suporte a seguir). Na figura, não mostramos esta região para o 2º ponto.

NOTA 3

Note que os pesos e a forma do template mudaram entre os dois pontos.


Flexibilidade dos Templates

Flexibilidade

Templates são muito mais flexíveis do que o conceito de máscara que conhecemos. Algumas razões:

  1. Forma flexível: A forma do template não precisa ser quadrada (nem mesmo retangular e nem mesmo conexa)
  2. Forma variável: Esta forma também pode variar em cada ponto \( \mathbf{y} \)
  3. Pesos variáveis: Os pesos também podem variar em cada \( \mathbf{y} \)
  4. Posição do ponto: Ponto \( \mathbf{y} \) não precisa estar no centro e nem mesmo "embaixo" do template
  5. Operações avançadas: Operações entre templates e imagens vão muito além da convolução que conhecemos