COMPUTAÇÃO GRÁFICA E PROCESSAMENTO DE IMAGENS
Componentes conexos
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
4-‐conexo
=
5
componentes 8-‐conexo
=
2 componentes Uma coleção de pixels é dito ser um componente
4-‐conexo
(ou
8-‐conexo)
se, para quaisquer
2
pixels
(x,y)
e
(i,j)
dentro de uma coleção, exis?r um caminho
(ou
uma seqüência) de
(x,y)
a
(i,j),
onde cada elemento desse caminho é 4-‐conexo
(ou
8-‐conexo) do próximo elemento. Para todo pixel
(x,y)
do domínio da imagem Se
(x,y)
for um pixel do objeto da imagem
E
(x,y) não rotulado então 1. Inicialize uma pilha
P
2. P.empilhe(
(x,y)
)
3. Enquanto a pilha
P
não está fazia, faça (i,
j)
=
P.desempilhar(
)
Rotule
o pixel (i,j)
Para
todos os pixels
(xx,
yy)
∈
C8(i,j)
E
(xx,yy) não rotulado
P.empilhar(
(xx, yy) )
Rotulação de CCs (algoritmo)
Conjunto
dos pixels 8-‐conexos em relação ao pixel
(I,
j)
Filtros conexos (p/ imagens binárias)
• Um
Filtro
conexo aplicado em uma imagem binária elimina algumas CCs de acordo com algum critério. • Exemplos:
– Filtro por área:
Elimina
as
CCs
cujo a área é menor que um dado limiar
– Filtro por largura ou altura:
Elimina
as
CCs
cujo a largura ou altura é menor que um dado limiar.
Exemplo
Filtragem por área: limiar =
100
Operador de limiarização
• Converte uma imagem em tons de cinza para binária.
• Definição:
• Por simplificação, fazemos t1 =
0
e assim ∀(x, y) ∈ Df , [T[t1,t2 ]( f )](x, y) =
1, se t1≤ f (x, y)≤t2
0, casocontrário
$%&
Limiares de entrada
∀(x, y) ∈ Df , [T[t2 ]( f )](x, y) =
1, se f (x, y)≤t2
0, casocontrário
$%&
Exemplo
Entrada:
vamos
chamar