Detecção de linha | Detecção de ângulo com Java

Estou processando algumas imagens que meu UGV (Unmanned Ground Vehichle) capta para fazer com que ele se mova em uma linha.

Eu quero obter o ângulo dessa linha com base no horizonte. Vou tentar explicar com alguns exemplos:

A imagem acima faria com que o meu UGV continuasse em frente, pois o ângulo é de cerca de 90 graus. Mas o seguinte faria virar à esquerda, como o ângulo compaído ao horizonte gira em torno de 120.

Eu consegui transformar essas imagens com sucesso na imagem abaixo usando o otsu para o thresholding:

E também usou um algoritmo de detecção de bordas para obter isso:

Mas estou preso agora tentando encontrar um algoritmo que detecta essas arestas / linhas e saídas - ou me ajuda a produzir - o ângulo dessa linha.

questionAnswers(1)

yourAnswerToTheQuestion