Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny...

44
Aula 5 - Segmentação de Imagens Parte 1 1 Prof. Adilson Gonzaga Prof. Adilson Gonzaga Prof. Adilson Gonzaga Prof. Adilson Gonzaga

Transcript of Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny...

Page 1: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Aula 5 - Segmentação de ImagensParte 1

1

Prof. Adilson GonzagaProf. Adilson GonzagaProf. Adilson GonzagaProf. Adilson Gonzaga

Page 2: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Segmentação

• Agrupamento de partes de uma imagem em unidades homogêneas relativamente a determinadas características.

• Segmentação é o processo que subdivide uma Imagem em suas partes constituintes.

2

• Baseado em duas propriedades dos níveis de cinza:

1 – Descontinuidade

2 – Similaridade

• Dois tipos básicos de Segmentos:

1 – Fronteiras

2 – Regiões

Page 3: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Detecção de Descontinuidades:

a) Detecção de Pontos Isolados:Operação com Templates

-1 -1 -1

-1 8 -1

-1 -1 -1

∑=9

.zwR

3

∑=

=1

.i

ii zwR

TR >

Dizemos que um ponto foi detectado na posição da máscara se:

onde T é um Limiar não-negativo.

Se um nível de cinza de alto valor está isolado em uma região, ofiltro passa-alta é usado para detectar esse ponto, aumentando suadiferença.

Page 4: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

b) Detecção de linhas:

-1 -1 -1

2 2 2

-1 -1 -1

-1 -1 2

-1 2 -1

2 -1 -1

-1 2 -1

-1 2 -1

-1 2 -1

2 -1 -1

-1 2 -1

-1 -1 2

Linhas Verticais

Linhas Horizontais

45º - 45º

Operação com Templates.

4

VerticaisHorizontais

Algoritmo:

Aplica-se cada máscara à Imagem obtendo-se os resultados R1 = Linhas HorizontaisR2 = 45o

R3 = Linhas VerticaisR4 = - 450

Se em um certo ponto da Imagem |Ri| > |Rj| para todos os j # i, diz-se que esse pontoestá mais provavelmente associado com uma linha na direção da máscara i.

Page 5: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

c) Detecção de Bordas:

Uma Borda é o limite entre duas regiões com propriedades relativamente distintas de nível de cinza.

A magnitude da primeira derivada pode serusada na detecção da presença de umaborda em uma Imagem.

5

A segunda derivada pode ser usada para determinar se um píxel da borda localiza-seno lado escuro ou claro da Imagem.

A segunda derivada possui um cruzamento por zero no ponto intermediário da transiçãodos níveis de cinza.

Page 6: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Imagem Gradiente

• O gradiente de uma imagem:

• O gradiente aponta na direção da mudança de intensidade mais rápida.

A direção do gradiente é dada por:

• Ou seja, a direção é perpendicular à borda no ponto.

A Força da Borda (“edge strength”) é dada pela Magnitude do gradiente.

Page 7: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

(Robert, Sobel, Prewitt, etc...)

- Magnitude do Gradiente:(Primeira Derivada)

=

∂∂

=∇y

x

G

G

y

yxfx

yxf

yxf ),(

),(

),(

Operadores Gradiente

7

(Primeira Derivada)

- Direção do Gradiente: (relativamente a x)

y

yxf

x

yxfyxf

∂+

∂≈∇

),(),(),(

)(tan),( 1

x

y

G

Gyx

−=θ

Page 8: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Efeitos do ruído

• Considere uma única linha ou coluna de uma imagem

– Plotando a intensidade como função da posição:

Onde está a Borda?

Page 9: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Solução: suavizar primeiro

Gaussiana

Onde está a Borda? Procurar por picos em:

Gaussiana

Page 10: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Teorema da Derivada da convolução

• Isso reduz uma operação:

Derivada da Gaussiana

Page 11: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Laplaciano da Gaussiana (LoG)

Operador

Laplaciano da Gaussiana

Onde está a borda? Passagem por zero (Zero-crossings)

Derivada segunda da Gaussiana

Page 12: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Filtros de detecção de bordas 2D

Laplaciano da Gaussiana

GaussianaDerivada da Gaussiana

• é o operador Laplaciano:

Derivada da Gaussiana

Page 13: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Detector de Bordas de Canny

Algoritmo:

1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos.

2. Computar o gradiente g(x,y) e a direção do gradiente em cada ponto.Os pontos de bordas calculados originam cristas na imagem de magnitudes do gradiente.

13

magnitudes do gradiente.

3. Supressão de Não-Máximos: Buscar os pontos de maior valor das cristas e fazer igual a zero os outros pontos.

4. Estabelecer 2 Thresholds T1<T2. Valores da crista maiores que T2 são considerados Bordas Fortes e valores entre T1 e T2 são Bordas Fracas.

5. Incorporar às Bordas Fortes as Bordas Fracas que sejam 8-conectadas a elas.

Page 14: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Detector de Bordas de Canny

• Imagem original (Lena)

Page 15: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Detector de Bordas de Canny

Norma do gradiente

Page 16: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Detector de Bordas de Canny

thresholding

Page 17: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Detector de Bordas de Canny

Afinamento das bordas “thinning”

( supressão de não-máximos)

Page 18: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Supressão de Não-máximos

• Verificar se o pixel é um máximo local ao longo da direção do gradiente

– Verificar os pixels p e r

Page 19: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Prever o próximoPonto de borda

Assumir que o ponto marcado é um ponto de borda. Contruir a tangente à curva de borda (normal ao gradiente no

Tangente à curva de borda

ao gradiente no ponto) e usar isto para prever os próximos pontos (aquí tanto r ou s).

(Forsyth & Ponce)

Page 20: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

“Corners” contêm mais bordas do que as linhas.

• Um ponto em uma linha é difícil corresponder em outra.

d) Deteção de Cantos ( Corner detection)

Page 21: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

• Um “corner” é mais fácil

“Corners” contêm mais bordas do que as linhas.

Page 22: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Os Detectores de Borda normalmente falham nos “Corners”

Page 23: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Corners

•Um canto (“corner”) pode ser definido como a intersecção

de duas bordas (“edges”).

•Um “corner” também pode ser definido como um ponto para

o qual existem duas direções dominantes diferentes em uma

vizinhança local do ponto.

Ou seja:

• Sobre o ponto de “corner”, o gradiente é mal

definido.

• Próximo ao ponto de “corner”, o gradiente

tem dois valores diferentes.

vizinhança local do ponto.

Page 24: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Alguns Detectores de Cantos (Corner Detector)

•Detector de corner de Moravec

•Detector de corner de Harris

•Detector de corner Shi-Tomasi ou

24

•Detector de corner Shi-Tomasi ou Kanade-Tomasi corner detector.

•Wang and Brady corner detection

•SUSAN corner detector

•Trajkovic and Hedley corner detector

•Haralick Corner Detector

Page 25: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Corner Detection

25

Page 26: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

� A fronteira dos objetos é, talvez, a parte mais importante da hierarquia das estruturas que une os dados de uma imagem com a sua interpretação.

e) Detecção de Fronteira: (“Boundary”)

� As técnicas de Detecção de Bordas detectam descontinuidades de Intensidade.

26

� A utilização do “Conhecimento” torna-se um fator relevante na maioria dos casos.

� Na prática, os píxels de borda detectados, raramente caracterizam completamente uma fronteira de um objeto, devido ao ruído, a quebra de fronteiras por motivo de iluminação não uniforme e outros efeitos que causam descontinuidades.

Page 27: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

- Analisar a vizinhança ( 3 x 3 ou 5 x 5 ) de um pixel (x,y) de uma imagem gradiente.

- Todos os pontos similares são unidos formando uma fronteira de pixels que possuam propriedades comuns.

- As propriedades usadas para a similaridade dos pixel são:

� A magnitude do gradiente:

Análise Local (Similaridade):

27

� A magnitude do gradiente:

onde T é um valor de limiar.

� A direção do gradiente:onde A é um ângulo de limiar.

- A vizinhança é deslocada sobre toda a imagem.

[ ] [ ] TyxfGyxfG ≤− ),(),( 11

Ayxyx <− ),(),( 11αα

Page 28: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

ExemploLocalizar retângulos compatíveiscom o tamanho de placa de carro.

b) Detector de Sobel para bordasverticais.

c) Detector de Sobel para bordas

28

c) Detector de Sobel para bordashorizontais.

d) Ligação de todos os pontos que possuam a magnitude de gradiente maior que 25e cujas direções de gradiente não diferem de 15o, eliminando-se pequenos segmentos isolados.

Page 29: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

- Sendo (x,y) a posição de um pixel sobre a borda de uma imagem gradiente.

- Avaliar os pixels na vizinhança de 8 de (x,y) e escolher o de maior magnitude do gradiente.

- Deslocar a vizinhança de 8, centrada neste novo pixel, e

Seguidor de Borda (“Edge Following”):

29

- Deslocar a vizinhança de 8, centrada neste novo pixel, e reavaliar no sentido do deslocamento, o gradiente de maior valor.

- Repetir a operação até que o pixel inicial seja reencontrado.

- Interpolar os pontos através de polinômios de baixa ordem.

Page 30: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

� A fronteira a ser detectada é tratada como um “Template”, sobre uma imagem gradiente.

� Este Template é deslocado sobre a imagem e para cada

Correlação não Linear:

30

� Este Template é deslocado sobre a imagem e para cada posição é computado o número de correspondências.

� Se este número excede um limiar, a posição da fronteira é assumida como a posição do Template.

Page 31: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

� Útil quando a fronteira tem pouca curvatura e o ruído é

Detecção de Fronteira porDivida-e-Conquiste:

31

� Útil quando a fronteira tem pouca curvatura e o ruído é baixo.

� Conhecidos dois pontos da fronteira (1 e 2), pesquisar ao longo da perpendicular da reta que os une, o ponto de mais alta magnitude do gradiente (3).

� Repetir o processo para cada segmento formado pelos pontos (2 e 3) (1 e 3), determinando os outros elementos pertencentes à fronteira (4, 5, ...).

Page 32: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

f) Detecção de curvas.

• Aplicada sobre uma imagem gradiente.

TRANSFORMADA DE HOUGH : (HT)

32

• Técnica para a detecção de curvas que possam ser descritas de forma paramétrica (linha reta, círculo, etc...).

Page 33: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Detecção de Retas:

Uma linha reta que conecte uma seqüência de pixels pode ser expressa por:

y = mx + c

TRANSFORMADA DE HOUGH : (HT)

33

m � coeficiente angular � “slope”c � intersecção com y � “intercept”

c = - mx + y

A equação da reta acima pode ser reescrita da seguinte forma:

Page 34: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

TRANSFORMADA DE HOUGH : (HT)

c = - mx + y

34

y = m’x + c’

Page 35: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Espaço da Imagem

y x

Pontos Definem as Retas Transformando

Exemplo:

y = mx + c c = - mx + y

35

y x

3 1 3 = m . 1 + c c = -1 m + 3

2 2 2 = m . 2 + c c = -2 m + 2

3 4 3 = m . 4 + c c = -4 m + 3

0 4 0 = m . 4 + c c = -4 m

y = mx + c c = - mx + y

Page 36: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Espaço de Parâmetros

3 pontos de mesmos coeficientes (m,c) = (-1,4) definem 3 pontoscolineares no Plano de Imagem.

y = mx + c

y = -1x + 4

36

Espaço de Parâmetros Espaço da Imagem

Page 37: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Principal Problema com a Representação no Espaço de Parâmetros (m,c)

• Tanto m como c podem variar de

complicando a solução computacional.

• Utilização de Coordenadas Polares.

Espaço de Parâmetros

∞≤≤∞− ),( cm

Espaço da Imagem

37

Espaço de ParâmetrosEspaço da Imagem

θθρ sen.cos. yx += Equação da reta

Page 38: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

• Propriedade 1 : Um ponto no espaço da imagem corresponde auma senóide no espaço de parâmetros.

• Propriedade 2 : Um ponto no espaço de parâmetroscorresponde a uma reta no espaço da imagem.

• Propriedade 3 : Pontos que caem na mesma reta do espaço da

Propriedades da HT com coordenadas Polares:

38

• Propriedade 3 : Pontos que caem na mesma reta do espaço daimagem correspondem a curvas com o mesmo ponto emcomum no espaço de parâmetros.

• Propriedade 4 : Pontos que caem na mesma curva no espaço deparâmetros correspondem às retas que passam por um pontono espaço da imagem .

Page 39: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

HT com coordenadas polares.

39

A = pontos 1,3 e 5 sãocolineares

B = pontos 2,3 e 4 sãocolineares

Page 40: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

1. Quantizar o espaço de parâmetros apropriadamente, formando um arranjo acumulador inicialmente zerado.

Algoritmo da Transformada de Hough:

),( θρ),( θρA

40

°≤≤°− 9090 θExemplo:

°=∆ 10θ

DD 22 ≤≤− ρ 2=∆ρOnde D é a resolução linear da Imagem

Page 41: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

2. Para cada ponto (x, y) na imagem gradiente cuja magnitude seja superior a um determinado limiar (pixel de borda), incrementar as células de arranjo acumulador que satisfaçam a equação da reta:

Obs: variar e calcular , aproximando em

y.sen x.cos θθρ +=

θθ ∆ de ρ∆

1),(),( +← θρθρ AANo Arranjo Acumulador, fazer:

ρ

41

3 – Inspecionar o Arranjo Acumulador• As células com os valores mais altos correspondem a pontos colineares na

imagem, definindo uma reta por célula, cuja equação é dada por:

e o valor da célula representa o número de pontos na imagem que pertencem àquela reta.

1),(),( +← θρθρ AA

y.sen x.cos θθρ +=

No Arranjo Acumulador, fazer:

Page 42: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Exemplo:

Imagem Gradiente

42

Imagem Imagem Gradiente

Retas obtidas através da Transformada de Hough.

Page 43: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

Arranjo Acumulador para a Imagem anterior:

Exemplo:

y.sen x.cos θθρ +=

43

120sen120cos.)45( yx +=−

Equação de uma reta.

)86,0()5,0.()45( yx +−=−

3,5258,0 −= xy

Page 44: Parte 1 - IRIS SERVERiris.sel.eesc.usp.br/sel886/Aula_5.pdf · Detector de Bordas de Canny Algoritmo: 1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos. 2. Computar

• Qualquer curva que possa ser representada por sua equação parametrizada, pode ser detectada através da transformada de Hough.

arranjo acumulador A ( a, b, r)

r b)– (y a)– (x 222 =+Circunferência

1)()( 2

02

0 =−

+− yyxxElipse

Detecção de outras curvas através da HT:

44

Transformada de Hough Generalizada (GHT):

• Permite a detecção de curvas de qualquer formato através da parametrização do possível centro da curva:

1)()(

20

20 =

−+

b

yy

a

xxElipse

arranjo acumulador A ( a, b, x0,y0)

A(xc,yc)