Projeto

Geral

Perfil

Ações

Edge detector(bordas laterais)

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:

Com a imagem das bordas já prontas, vamos encontrar todas as retas, no código denominadas linhas, que encontrarmos.

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:

Tendo dois pontos de cada linha, vamos guardar o coeficiente angular e linear e também o angulo em um array: linha_poly:
obs:
x1 = linhas[i][0][0]
y1 = linhas[i][0][1]
x2 = linhas[i][0][2]
y2 = linhas[i][0][3]
linha_poly = ( (y2-y1)/(x2-x1), (y2-y1)/(x2-x1)*x1, linhas[i][0])

Vamos agora caracterizar quais linhas estão a direita e quais estão a esquerda, utilizando o ângulo de inclinação e fazend

ang = (180/pi)*arctg((y2-y1)/(x2-x1))

Atualizado por Henrique Wanner Antunes Silvério de Sousaquase 3 anos · 5 revisões