Seminário
Introdução à Visão
Computacional
- The Cyclops Project CPGCC - INE -UFSC
Domínio do Espaço - Parte I
2. Domínio do Espaço
• Consideramos o valor de cada pixel e também a relação
deste com os valores de um conjunto de pixels na sua
vizinhança.
• Parte I - Operações utilizando Convolução
• Parte II - Operações sobre Regiões
Domínio do Espaço
E1. Operações Genéricas de Convolução
E2. Morfologia Matemática
E3. Operações de Detecção de Bordas
E1. Operações Genéricas de
Convolução
O que é convolução ?
Matematicamente, a convolução é uma operação entre duas
matrizes, geralmente bidimensionais, uma das quais é a
imagem e a outra é um matriz chamada de matriz de
convolução ou elemento estruturante.
A matriz de convolução representa uma função matemática
qualquer e é aplicada sobre cada pixel g(x,y) da imagem e sua
vizinhança imediata, resultando em uma nova imagem gc(x,y),
que reflete a relação da imagem original com a função
matemática dada pela matriz.
E1. Operações Genéricas de
Convolução
Como realizamos a convolução ?
Podemos considerar a convolução como a aplicação de uma máscara
de resposta à imagem de acordo com critérios bem definidos.
Na convolução temos dois componentes:
• Uma ou mais matrizes de convolução ci(x,y)
• A operação de convolução
A forma mais simples é quando temos apenas uma matriz de
convolução e a operação de convolução é a soma dos resultados da
multiplicação de cada elemento da matriz com a região da imagem
sob a mesma e a subseqüente substituição do valor do pixel sobre o
qual a matriz foi aplicada por este resultado.
E1. Operações Genéricas de
Convolução
Exemplo:
•mi: é valor para um pixel
•pi: é o valor do nível de cinza para um pixel
•Rp5: é a máscara de resposta para o pixel central (p5).
E1. Operações Genéricas de
Convolução
Exemplo:
Imagem Original
Imagem Resultante
•Observe que o resultado é sempre escrito na nova imagem resultante
•Observe que se o pixel sob a matriz se encontrar nas bordas da imagem,
consideramos apenas os elementos sob a matriz.
E1. Operações Genéricas de
Convolução
E1.1 Detecção de pontos salientes
A aplicação de convolução mais simples é a detecção de pontos
salientes na imagem. Um ponto saliente é um ponto cujo valor se destaca
de seus vizinhos, não necessariamente um valor alto do ponto de vista
absoluto.
E1. Operações Genéricas de
Convolução
E1.2 Convolução Genérica
A aplicação de convolução simples pode ser extendida para outros tipos
de matriz de filtragem que podem suavizar ou modificar a imagem. É
importante possuir-se um programa que leia uma matriz qualquer e
aplique o método utilizando:
• Qualquer matriz quadrada de convolução ci(x,y) de dimensões
ímpares
• A operação de convolução é sempre a soma das multiplicações
das posições correspondentes sob a matriz.
• O pixel de aplicação R é sempre o valor sob o elemento central
da matriz
E1. Operações Genéricas de
Convolução
Requisitos para E1.1 e E1.2
•
Duas entradas: imagem e matriz de convolução
•
Ler as duas entradas tanto em P2 como em P5
•
Uma saída: Imagem resultante.
E2 - Morfologia Matemática
Parte I - Imagens Binárias
Morfologia Matemática
• O estudo morfológico concentra-se na estrutura
geométrica das imagens.
• Aplica-se morfologia em , realce, filtragem,
segmentação, esqueletonização e outras a fins.
• Definição de uma imagem e feita através de um vetor
bidimensional com coordenadas (x, y) para sua
representação gráfica .
Conceito de Morfologia
Matemática
• Conceito básico: consiste em extrair
informações de uma imagem de geometria
desconhecida pela transformação com uma
outra imagem completamente definida
(convolução), chamada elemento estruturante.
• Ao contrário da convolução genérica, na
Morfologia Matemática a FORMA do elemento
estruturante terá impacto sobre o resultado.
E2.1 Dilatação
 Dilatação -
Expande uma imagem.
• A  B = { c | c = a + b , a  A , b  B } assim
onde A = Imagem original
B = Elemento estruturante ou Kernel
 Pode ser representada A  B
Imagem Original
Kernel ou ES
Resultado
Hot Spot
B
A
Original
A B
Dilatada
E2.1 Dilatação
• Propriedades da Dilatação
 Comutativa:
 Associativa:
AB=B A
(A  B)  C = A  (B  C ))
E2.1 Dilatação
Requisitos:
• Usaremos sempre um Kernel quadrado, com Hot Spot
no centro da matriz.
• Se quisermos representar um elemento estruturante com forma
de linha, faremos uma matriz quadrada, com 1s na linha central
e 0s no resto:
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
E2.1 Dilatação
Algoritmo informal da dilatação binária:
• Passe o elemento estruturante por todos os pixels da
imagem original:
• Se o valor do pixel da imagem sob o elemento central for
diferente de zero, copie todos os valores não-zero do elemento
estruturante para a imagem resultado.
E2.2. Erosão
 Erosão - Encolhe uma imagem.
A  B = ( x | x + b  A para todo b  B)
 A  B é o conjunto de translações de B que posicionam B
sobre os conjuntos de pixels válidos em A .
 Pode ser representada
 onde
AB
A = imagem original
B = elemento estruturante
Imagem Original
Kernel ou ES
B
A
Original
Imagem Erodida
AB
Imagem Erodida
E2.2 Erosão
Algoritmo informal da erosão binária:
• Passe o elemento estruturante por todos os pixels da
imagem original:
• Se nenhum valor dos pixels da imagem sob os valores nãonulos do elemento estruturante for zero, ponha um valor 1 (ou
255) na posição R da imagem resultado.
E2.3/2.4 Usando Dilatação/Erosão
• E2.3 BoundEXT (A) = (A  E) - A
• Achar todos os pixels que limitam o objeto pelo lado de
fora (contorno externo).
• E2.4 BoundINT (A) = {A - (A  E)}
• Achar o contorno de interno objetos.
E2.5 Gradiente Morfológico
• Outra forma de encontrar a borda.
Composta de três outras operações básicas:
Dilatação, erosão e a subtração.
X = (A  B) – (A  B)
onde
A = imagem original
B = elemento estruturante
E2.6 Abertura (Opening)
Opening - suaviza o contorno de uma imagem.
 Quebra estreitos e elimina proeminências delgadas.
 É usada também para remover ruídos da imagem e abrir
pequenos vazios ou espaços entre objetos próximos numa
imagem .
A

B = (A  B)  B
• Dada por uma erosão seguida de uma dilatação com o mesmo
elemento estruturante.
Abertura
Original
Após Abertura
E2.7 Fechamento
Closing - Funde pequenos quebras e alargas
golfos estreitos.
Elimina pequenos
orifícios.
Irá preencher ou
fechar os vazios.
Estas
operações remover pixels brancos com ruídos.
A  B = (A  B)  B
E 2.7 Fechamento
Original
Fechamento
Propriedades
DUALIDADE OPENING E CLOSING
(A

B)’ = A’  B
IDEMPOTÊNCIA OPENING E CLOSING
A
A
 
B
B
Onde: A´ = complemento de A

B=A B
B=AB
Exemplo de Aplicação em Radiologia
Exemplo de Aplicação em Radiologia
Exemplo de Aplicação em Radiologia
Exemplo de Aplicação em Radiologia
Morfologia Matemática
Parte II - Tons de Cinza e Cores
Morfologia Matemática
- Introdução Tons
de Cinza
A idéia básica de Morfologia binária extende-se
para tom de cinza, mas operações lógicas
simulam a conversão aritmética: Uniões se
tornam máximos e interseções se tornam
mínimos ...
E 2.8 Erosão Tc
 Erosão tons de cinza
(A  B) =
min {A(i – x , j – y) – B(x , y) | (i – x , j – y)  A , (x, y)  B}
Onde
B é um elemento estrutural e A é a imagem de tons
de cinza.
Morfologia Matemática
-
Erosão Tc
Algoritmo em Linguagem Informal:
1. Posiciona-se a origem do elemento estruturante sobre o primeiro
pixel da imagem que sofre erosão.
2. Calcula-se a diferença de cada par correspondente de valores de
pixels do elemento estrutural e da imagem.
3. Acha-se o valor mínimo de todas essas diferenças, e armazena-se
o pixel correspondente na imagem de saída para este valor.
4. Repete-se este processo para cada pixel da imagem que sofre
erosão.
Morfologia Matemática
- Erosão Tc
Morfologia Matemática
- Erosão a Cores
E 2.8
- Dilatação Tc
 Dilatação tons de cinza
(A  B) = max {A(i – x , j – y) + B(x , y) | (i – x , j – y)  A , (x, y)  B}
onde
B é um elemento estrutural e A é a imagem de tons
de cinza.
E 2.8
- Dilatação Tc
Algoritmo em Linguagem Informal:
1. Posiciona-se a origem do elemento estrutural sobre o
primeiro pixel da imagem a ser dilatada.
2. Calcula-se a soma de cada par correspondente de valores de
pixels do elemento estrutural e da imagem.
3. Acha-se o valor máximo de todas essas somas, e armazenase o pixel correspondente na imagem de saída para este valor.
4. Repete-se este processo para cada pixel da imagem a ser
dilatada.
Morfologia Matemática
Cinza
- Dilatação em Tons de
Morfologia Matemática
- Dilatação em Cores
O que é escuro
é realçado....
E 2.10
Fechamento Tc
 Closing tons de cinza f  g (G) = (f  g G)  g G
ou para um elemento estruturante constante :
f  g (G) = min (a g) max (b g) f (x+a+b)
Morfologia Matemática
- Fechamento a Cores
E 2.11 Abertura Tc
 Opening tons de cinza f  g (G) = (f  g G)  g G
ou para um constante elemento estruturante:
f  g (G) = max (a g) min (b g) f (x-a+b)
 Utiliza-se mesmo processo binário
Morfologia Matemática
- Abertura Tc
Original, erodida e resultado
Morfologia Matemática
- Abertura Tc
original
closing
subtração
Download

Métodos no Domínio do Espaço - Parte I (Morfologia) - INE