Я хочу спросить, существует ли метод обнаружения только горизонтальных линий Hough или игнорирования этих почти вертикальных линий Hough? Мой код HoughLine теперь, как показано ниже:Удаление вертикальных HoughLines/Только определение горизонтальных HoughLines
HoughLinesP(imagec, lines, 80, CV_PI/2, CV_THRESH_OTSU|CV_THRESH_BINARY, 25, 7);
for(size_t i = 0; i < lines.size(); i++)
{
Vec4i l = lines[i];
line(imagec, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(255,255,255), 8, 8);
line(imagelines, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(255,255,255), 8, 8); //draw on black image as well
}
Однако в изображении, я ищу только для обнаружения горизонтальных линий, или, по крайней мере, вблизи горизонтальных линий, как по 2 до 4 см. Я использую CV_PI/2
для параметра theta в HoughLineP, поэтому также обнаруживаются вертикальные линии/вблизи вертикальных линий.
Любые предложения, образцы кода и т. Д. Будут очень признательны. Благодарю.
Спасибо, Вы знаете, как получить значения y2, y1, x2, x1 из вектора? Я использую «vector lines;» для моих строк, поэтому я не могу использовать CvPoint для их получения, и это единственный способ, который я знаю. Благодарю. –
rockinfresh
Решил. Я использовал atan вместо atan2. Еще раз спасибо (: – rockinfresh
Просто для добавления пользователей python-opencv это будет 'np.arctan2' –