Cómo filtrar solo la línea más larga después de Hough Transform

Actualmente estoy usando la Transformación Hough para obtener las líneas rectas. Pero hay muchas líneas detectadas. ¿Puedo saber cómo filtrar y solo obtener la línea más larga de la salida?

      HoughLinesP(dst, lines, 1, CV_PI/180, 50, 20, 10 ); //left lane

      for( size_t i = 0; i < lines.size(); i++ )
      {
        Vec4i l = lines[i];
        double theta1,theta2, hyp, result;

        theta1 = (l[3]-l[1]);
        theta2 = (l[2]-l[0]);
        hyp = hypot(theta1,theta2);

        line( cdst, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(255,0,0), 3, CV_AA);

        }

      imshow("detected lines", cdst);

}

Respuestas a la pregunta(1)

Su respuesta a la pregunta