Projeto

Geral

Perfil

Edge detector » Histórico » Versão 3

Henrique Wanner Antunes Silvério de Sousa, 02/10/2021 01:02 h

1 1 Henrique Wanner Antunes Silvério de Sousa
h1. Edge detector(bordas laterais)
2
3
De início temos o tratamento da imagem usando o cv2. Queremos no final do tratamento obter o "edges.jpg" que seria a imagem apresentando somente as bordas. Tal como mostrado no exemplo a seguir:
4 2 Henrique Wanner Antunes Silvério de Sousa
5
6
!edge.png!
7 3 Henrique Wanner Antunes Silvério de Sousa
8
Com a imagem das bordas já prontas, vamos encontrar todas as retas, no código denominadas linhas, que encontrarmos.
9
10
Perceba que no primeiro momento temos o uso da função _cv2.HoughLinesP_ . Ela retorna dois pontos de cada linha ( x1, y1, x2, y2) e guarda em um array:
11
12
!hough.png!
13
14
Tendo dois pontos de cada linha, vamos guardar o coeficiente angular e linear e também o angulo em um array: _linha_poly_:
15
obs:
16
x1 = linhas[i][0][0]
17
y1 = linhas[i][0][1]    
18
x2 = linhas[i][0][2]
19
y2 = linhas[i][0][3]
20
linha_poly = ( (y2-y1)/(x2-x1), (y2-y1)/(x2-x1)*x1, linhas[i][0])
21
!poly.png!
22
Vamos agora caracterizar quais linhas estão a direita e quais estão a esquerda, utilizando o ângulo de inclinação e fazend
23
24
ang = (180/pi)*arctg((y2-y1)/(x2-x1))
25
26
Se modulo de ang entre 80 e 20
27
28
linh
29
!ang.png!