1
В настоящее время я использую преобразование Hough для получения прямых линий. Но обнаружено много линий. Могу ли я узнать, как фильтровать и получать самую длинную строку из вывода?Как фильтровать только самую длинную строку после преобразования Hough
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);
}
«// Теперь у вас есть линия максимальной длины» №. L - последний элемент линий. Вы не обновляете max_dist, поэтому max_dist
FooBar
@FooBar: Ooopsies. Очень жаль. Виноват. Обновлено сейчас, спасибо! –
Привет @aspiring_sarge и FooBar, я пробовал, но кажется, что все строки все еще появляются. Это из-за цикла for? Или мне нужно сначала его перенести? Все еще отлаживается –