Detección de línea | Detección de ángulos con Java

Estoy procesando algunas imágenes que mi UGV (Vehículo terrestre no tripulado) captura para hacer que se mueva en una línea.

Quiero obtener el ángulo de esa línea basado en el horizonte. Trataré de explicar con algunos ejemplos:

La imagen de arriba haría que mi UGV siguiera recto, ya que el ángulo es de aproximadamente 90 grados. Pero lo siguiente haría que gire a la izquierda, ya que el ángulo comparado con el horizonte ronda alrededor de 120.

Pude transformar exitosamente esas imágenes en la imagen de abajo usando otsu para umbrales:

Y también usé un algoritmo de detección de bordes para obtener esto:

Pero ahora estoy atascado tratando de encontrar un algoritmo que detecte esos bordes / líneas y produzca, o me ayude a generar, el ángulo de dicha línea ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta