Definição de Templates
Introdução

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

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:
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

Para simplificar a notação, definimos:
A imagem \( \mathbf{t}_{\mathbf{y}} \) tem então a seguinte representação:
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

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)

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) \):
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

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

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