lapix – laboratório de processamento de imagens e computação gráfica grupo cyclops...

47
LAPIX – Laboratório de Processamento de Imagens e LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Computação Gráfica Grupo Cyclops Grupo Cyclops Métodos, Técnicas e Ferramentas para Aprendizado e Métodos, Técnicas e Ferramentas para Aprendizado e Classificação de Dados Classificação de Dados Módulo II Módulo II Introdução ao Introdução ao Processamento de Processamento de Imagens Imagens

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

LAPIX – Laboratório de Processamento de Imagens e Computação LAPIX – Laboratório de Processamento de Imagens e Computação GráficaGráfica

Grupo CyclopsGrupo Cyclops

Reconhecimento de Padrões Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado e Classificação de DadosMétodos, Técnicas e Ferramentas para Aprendizado e Classificação de Dados

Módulo IIMódulo II

Introdução ao Processamento Introdução ao Processamento

de Imagensde Imagens

Page 2: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Domínio do Espaço - Parte IDomí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

Page 3: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Domínio do EspaçoDomínio do Espaço

E1. Operações Genéricas de Convolução

E2. Morfologia Matemática

E3. Operações de Detecção de Bordas

Page 4: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E1. Operações Genéricas de E1. Operações Genéricas de ConvoluçãoConvoluçã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.

Page 5: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E1. Operações Genéricas de E1. Operações Genéricas de ConvoluçãoConvoluçã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.

Page 6: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E1. Operações Genéricas de E1. Operações Genéricas de ConvoluçãoConvoluçã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).

Page 7: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E1. Operações Genéricas de E1. Operações Genéricas de ConvoluçãoConvoluçã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.

Page 8: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E1. Operações Genéricas de E1. Operações Genéricas de ConvoluçãoConvolução

E1.1 Detecção de pontos salientesA 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.

Page 9: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E1. Operações Genéricas de E1. Operações Genéricas de ConvoluçãoConvolução

E1.2 Convolução GenéricaA 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

Page 10: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E1. Operações Genéricas de E1. Operações Genéricas de ConvoluçãoConvoluçã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.

Page 11: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E2 - Morfologia MatemáticaE2 - Morfologia Matemática

Parte I - Imagens Binárias

Page 12: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Morfologia MatemáticaMorfologia 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 .

Page 13: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Conceito de Morfologia Conceito de Morfologia MatemáticaMatemá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.

Page 14: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E2.1 DilataçãoE2.1 Dilatação

Dilatação - Expande uma imagem.

• A B = { c | c = a + b , a A , b B } assim

onde A = Imagem originalB = Elemento estruturante ou Kernel

Pode ser representada A Pode ser representada A B B

Page 15: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Imagem Original

Kernel ou ES Resultado

A B A B

Original

Dilatada

Hot Spot

Page 16: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E2.1 DilataçãoE2.1 Dilatação

• Propriedades da Dilatação

Comutativa: A B = B A

Associativa: (A B) C = A (B C ))

Page 17: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E2.1 DilataçãoE2.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 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

Page 18: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E2.1 DilataçãoE2.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.

Page 19: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E2.2. ErosãoE2.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 Pode ser representada A B

onde A = imagem original B = elemento estruturante

Page 20: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Imagem Original

Kernel ou ES

A B

Original

Imagem Erodida

A B

Imagem Erodida

Page 21: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E2.2 ErosãoE2.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ão-

nulos do elemento estruturante for zero, ponha um valor 1 (ou 255) na posição R da imagem resultado.

Page 22: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E2.3/2.4 Usando E2.3/2.4 Usando Dilatação/ErosãoDilataçã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.

Page 23: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E2.5 Gradiente MorfológicoE2.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

Page 24: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E2.6 Abertura (Opening)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.

Page 25: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Original

Após Abertura

AberturAberturaa

Page 26: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E2.7 FechamentoE2.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

Page 27: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E 2.7 FechamentoE 2.7 Fechamento

Original

Fechamento

Page 28: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Propriedades Propriedades

DUALIDADE OPENING E CLOSING(A B)’ = A’ B

IDEMPOTÊNCIA OPENING E CLOSINGA B B = A B A B B = A B

Onde: A´ = complemento de A

Page 29: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Exemplo de Aplicação em RadiologiaExemplo de Aplicação em Radiologia

Page 30: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Exemplo de Aplicação em RadiologiaExemplo de Aplicação em Radiologia

Page 31: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Exemplo de Aplicação em RadiologiaExemplo de Aplicação em Radiologia

Page 32: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Exemplo de Aplicação em RadiologiaExemplo de Aplicação em Radiologia

Page 33: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Morfologia MatemáticaMorfologia Matemática

Parte II - Tons de Cinza e Cores

Page 34: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Morfologia MatemáticaMorfologia Matemática - Introdução Tons - Introdução Tons de Cinzade 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 ...

Page 35: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E 2.8 Erosão TcE 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.

Page 36: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Morfologia MatemáticaMorfologia Matemática - - Erosão TcErosão Tc

Algoritmo em Linguagem Informal:Algoritmo em Linguagem Informal:

1. Posiciona-se a origem do elemento estruturante sobre o 1. Posiciona-se a origem do elemento estruturante sobre o

primeiro pixel da imagem que sofre erosão.primeiro pixel da imagem que sofre erosão.

2. Calcula-se a diferença de cada par correspondente de 2. Calcula-se a diferença de cada par correspondente de

valores de pixels do elemento estrutural e da imagem.valores de pixels do elemento estrutural e da imagem.

3. Acha-se o valor mínimo de todas essas diferenças, e 3. Acha-se o valor mínimo de todas essas diferenças, e

armazena-se o pixel correspondente na imagem de saída armazena-se o pixel correspondente na imagem de saída

para este valor. para este valor.

4. Repete-se este processo para cada pixel da imagem que 4. Repete-se este processo para cada pixel da imagem que

sofre sofre erosãoerosão..

Page 37: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Morfologia MatemáticaMorfologia Matemática - Erosão - Erosão Tc Tc

Page 38: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Morfologia MatemáticaMorfologia Matemática - Erosão - Erosão a Cores a Cores

Page 39: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

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.

Page 40: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

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 armazena-se o pixel correspondente na imagem de saída para este valor. 4. Repete-se este processo para cada pixel da imagem a ser dilatada.

Page 41: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Morfologia MatemáticaMorfologia Matemática - - Dilatação em Tons de Dilatação em Tons de CinzaCinza

Page 42: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Morfologia MatemáticaMorfologia Matemática - - Dilatação em CoresDilatação em Cores

O que é escuro é realçado....

Page 43: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E 2.10E 2.10 Fechamento TcFechamento 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)

Page 44: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Morfologia MatemáticaMorfologia Matemática - - Fechamento a CoresFechamento a Cores

Page 45: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

E 2.11E 2.11 Abertura TcAbertura 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

Page 46: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Morfologia MatemáticaMorfologia Matemática- - Abertura TcAbertura Tc

Original, erodida e resultado

Page 47: LAPIX – Laboratório de Processamento de Imagens e Computação Gráfica Grupo Cyclops Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado

Morfologia MatemáticaMorfologia Matemática - - Abertura TcAbertura Tc

original

closing

subtração